2016-07-28 10 views
0

私は特定のファイルパスからテキストファイルからデータをインポートしようとしていますが、エラーを取得しています'utf-8' codec can't decode byte 0xa5 in position 18: invalid start bytepandasデータフレームのcsv/txtファイルを開くために "utf-8"をどのように適用するのですか?

私の質問は、私はすべてのテキストファイル(約20他)に「UTF-8」エンコーディングを適用することができますとにかくあり私は上記のエラーを防ぐことができます最終的に開く必要がありますか?

コード:また

import pandas as pd 
filelist = [r'D:/file1',r'D:/file2'] 
print (len((pd.concat([pd.read_csv(item, names=[item[:-4]]) for item in filelist],axis=1)))) 

任意の提案を開いて、私は何か間違ったことをやっている場合。

ありがとうございます。

答えて

1

Pythonで自動的にエンコードをutf-8に変換する解決法は認識していません。

また、エンコードが何であるかを調べて、それに応じて読むことができます。 utf-8でファイルに書き込みます。

this solutionは私のファイルのためにも(クレジットmaxnoe)を働いたあなたは今pd.to_csv()を使用してファイルを書き込む場合

import chardet 
import pandas as pd 

with open('filename.csv', 'rb') as f: 
    result = chardet.detect(f.read()) # or readline if the file is large 

pd.read_csv('filename.csv', encoding=result['encoding']) 

はパンダのデフォルトはUTF-8

で符号化することである、 pip install chardet

に忘れてはいけません

関連する問題