我正在研究一个程序,需要将两个文件合并并将联合文件写入新文件。问题是输出文件包含这样的字符\xf0
或者如果我改变了一些编码,结果就是那样的\u0028
。输入文件被编码为utf8。我如何可以打印输出文件的字符像"è"
或"ò"
和"-"
关于字符编码的Python问题
我已经做了这样的代码:
import codecs
import pandas as pd
import numpy as np
goldstandard = "..\\files\file1.csv"
tweets = "..\\files\\file2.csv"
with codecs.open(tweets, "r", encoding="utf8") as t:
tFile = pd.read_csv(t, delimiter="\t",
names=['ID', 'Tweet'],
quoting=3)
IDs = tFile['ID']
tweets = tFile['Tweet']
dict = {}
for i in range(len(IDs)):
dict[np.int64(IDs[i])] = [str(tweets[i])]
with codecs.open(goldstandard, "r", encoding="utf8") as gs:
for line in gs:
columns = line.split("\t")
index = np.int64(columns[0])
rowValue = dict[index]
rowValue.append([columns[1], columns[2], columns[3], columns[5]])
dict[index] = rowValue
import pprint
pprint.pprint(dict)
ndic = pprint.pformat(dict, indent=4)
f = codecs.open("out.csv", "w", "utf8")
f.write(ndic)
f.close()
,这就是例子输出
desired: Beyoncè
obtained: Beyonc\xe9
你为什么漂亮打印?这会产生*表示*,并且字符串表示会为任何不可打印或非ASCII码点生成'\ xhh'转义序列(字面上4个字符,其中两个是十六进制)。 –