2017-08-08 5 views
-1

python3とAnacondaを使って新しいCSVファイルに 'utf-8'を書き込むには?Anacondaでpython3を使って 'utf-8'を新しいCSVファイルに書き込むには?

私は新しいpythonとpandasの学習者です。私が使用しているバージョンはpython3です。 PyCharm IDEと同様のIDEであるAnacondaプラットフォームで実行します。

私は、長いテキストからすべての単語と頻度を記録する2つの配列を持っています。すべての単語を「UTF-8」の文字が含まれている文字列の形式で保存されています。私はアナコンダとのpython3を使用してsplit_word.csvと呼ばれる新しいCSVファイルへのそれらの値とキー配列を記述しようとしている今

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'] 

。次のように私のコードは次のとおりです。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) 

私の予想結果は、2つの新しい列です:

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

あなただけのエンコーディングを指定する必要があります。

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

おかげで、私が試したが、それは動作しません。 –

+0

@HavenShi他に何をすべきかわからない、ごめんなさい。私は私のシステムでテストし、問題を修正しました。 Python 3.6、Anaconda、Windows 7、CSVをノートパッドで見る++ – jacoblaw

+0

emmmm、私は何もできないようだ。私もPython 3.6、Anacondaをテストしましたが... –

関連する問題