2016-12-11 1 views
-1

私のコードは以下の通りです。utf-8でのPythonの問題

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
import pandas as pd 
import codecs 

df1 = pd.read_csv(r'E:\내논문자료\wordcloud\test1\1311_1312.csv',encoding='utf-8') 

df2 = df1.groupby(['address']).size().reset_index() 
df2.rename(columns = {0: 'frequency'}, inplace = True) 
print(df2[:100]) 

しかし、ときに私は私はそれを解決することができますどのようにこのメッセージ

Traceback (most recent call last): 
File "E:/빅데이터 캠퍼스/untitled1/groupby freq.py", line 7, in <module> 
df1 = pd.read_csv(r'E:\내논문자료\wordcloud\test1\1311_1312.csv',encoding='utf-8') 
File "C:\Python34\lib\site-packages\pandas\io\parsers.py", line 645, in parser_f 
return _read(filepath_or_buffer, kwds) 
File "C:\Python34\lib\site-packages\pandas\io\parsers.py", line 400, in _read 
data = parser.read() 
File "C:\Python34\lib\site-packages\pandas\io\parsers.py", line 938, in read 
ret = self._engine.read(nrows) 
File "C:\Python34\lib\site-packages\pandas\io\parsers.py", line 1507, in read 
data = self._reader.read(nrows) 
File "pandas\parser.pyx", line 846, in pandas.parser.TextReader.read (pandas\parser.c:10364) 
File "pandas\parser.pyx", line 868, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:10640) 
File "pandas\parser.pyx", line 945, in pandas.parser.TextReader._read_rows (pandas\parser.c:11677) 
File "pandas\parser.pyx", line 1047, in pandas.parser.TextReader._convert_column_data (pandas\parser.c:13111) 
File "pandas\parser.pyx", line 1106, in pandas.parser.TextReader._convert_tokens (pandas\parser.c:14065) 
File "pandas\parser.pyx", line 1204, in pandas.parser.TextReader._convert_with_dtype (pandas\parser.c:16121) 
File "pandas\parser.pyx", line 1220, in pandas.parser.TextReader._string_convert (pandas\parser.c:16349) 
File "pandas\parser.pyx", line 1452, in pandas.parser._string_box_utf8 (pandas\parser.c:22014) 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 0: invalid start byte 

を持って、このコードを実行します? パンダのパーサコードを変更する必要がありますか?

+0

utf-8エンコーディングは0xbcバイトをデコードできないと言います。あなたはそれがutf-8だと確信していますか?どのエンコーディングが実際に使用されているかを実際に知っている場合は、チャートセットを使用できます。ファイルの先頭を投稿できますか? –

+2

あなたの入力データはUTF-8ではありません。 CSVファイルをUTF-8に修正するか、正しいコーデックを見つけて代わりに使用してください。ただし、ソースデータは表示されませんので、ここでは対応できません。 –

+0

デコードできない文字は1/4で、asciiのようなエンコードでは0xbcとしてエンコードされます。エンコーディングをそのようなエンコーディングに変更する必要があります。 –

答えて

1

ソースデータがUTF-8でエンコードされていないようです。他のコーデックの1つになる可能性があります。 this answerには、encoding='GBK'で始まるか、encoding='gb2312'で始めると便利です。