如何写'utf-8'使用带有Anaconda的python3到新的CSV文件?

时间:2017-08-08 23:31:38

标签: python pandas csv utf-8 writetofile

如何写' utf-8'使用带有Anaconda的python3到新的CSV文件?

我是一个新的蟒蛇和熊猫学习者。我使用的版本是python3。我使用Anaconda平台运行它,这是一个与PyCharm IDE类似的IDE。

我有两个数组来记录长文本中的所有单词及其频率。所有单词都以字符串的形式保存,其中包括“utf-8'字符:

value = [13, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 

key = ['-', 'Span', 'Found', 'Not', '404.0', '详细', '8.5', 'IIS', 'Details', '错误', 'Machine,', 'K', 'Ltd.', 'Co.,', 'Contact', 'Group', 'Large', 'qinwomachine', 'Trading', 'Qinwo', 'Shanghai', 'Manufacturer', 'Machine', 'Super', 'Abm240', 'Abm120', 'Mic240', 'Mic120', 'Forming', 'Roll', 'wubianstar', 'Electrical', 'Hont', 'China', 'tileformer', '\ufeffContact']

现在我尝试使用python3和Anaconda将这些值和键数组写入名为split_word.csv的新CSV文件中。我的代码如下:

# read the arrays as dataframe, also set the column name 'word' and 'frequency'
df = pd.DataFrame({"word" : newkey, "frequency" : newvalue}) 

# write dataframe into a new csv file
df.to_csv("split_word.csv", index=False)

我在csv中的预期结果是两个新列:

frequency   word
13          -
4           Span
3           Found
3           Not
3           404
3           详细
3           8.5
3           IIS
3           Details
2           错误
2           Machine,
2           K
2           Ltd.
2           Co.,
2           Contact

但是实际结果出了问题。 '详细'并且'错误'缺少:

frequency   word
13          -
4           Span
3           Found
3           Not
3           404
3           ????
3           8.5
3           IIS
3           Details
2           ????
2           Machine,
2           K
2           Ltd.
2           Co.,
2           Contact

唯一的问题是' utf-8'输入。我应该在代码中添加解码或编码吗?我怎样才能解决简单但烦人的问题?

非常感谢你!

1 个答案:

答案 0 :(得分:1)

您只需指定编码:

df.to_csv("split_word.csv", index=False, encoding="utf-8")