私はhereと同じ問題を抱えていますが、提案された方法のどれも私には役に立たない。パンダ:エンコードの問題を解決するために保存
大文字でない文字が多い中くらいのサイズのutf-8
.csvファイルがあります。 私は、列の特定の値でファイルを分割しています。次に、得られた各データフレームを保存された.xlsxファイルとして保存したいと思います。
これは、私はエラーを取得していますように、動作しません:
- 明示的
xlsxwriter
エンジンを使用する:ここでUnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 7: ordinal not in range(128)
は、私が試したものです。これは何も変わらないようです。
エンコーディングを変更して不正な文字を破棄するための関数(下記)を定義します。これは何も変わらない。
def changeencode(data): cols = data.columns for col in cols: if data[col].dtype == 'O': data[col] = data[col].str.decode('utf-8').str.encode('ascii', 'ignore') return data
すべての攻撃的な文字を他のものに手作業で変更します。それでも効果はありません(この変更後に引用されたエラーが得られました)。
ファイルを
utf-16
(これは私が信じているのは、後でExcelからファイルを操作できるようにしたいので正しいエンコーディングであると考えています)をエンコードしても役に立ちません。
私はこの問題がファイル自体にあると信じています(2と3のため)。しかし、私はそれを回避する方法が全くわかりません。私はどんな助けにも感謝しています。ファイルの先頭が下に貼り付けられます。
"Submitted","your-name","youremail","phone","miasto","cityCF","innemiasto","languagesCF","morelanguages","wiek","partnerCF","messageCF","acceptance-795","Submitted Login","Submitted From","2015-12-25 14:07:58 +00:00","Zózia kryś","[email protected]","4444444","Wrocław","","testujemy polskie znaki","Polski","testujemy polskie znaki","44","test","test","1","Justyna","99.111.155.132",
EDIT
(分割部のないバージョンのいずれか、)いくつかのコード:
import pandas as pd
import string
import xlsxwriter
df = pd.read_csv('path-to-file.csv')
with pd.ExcelWriter ('test.xlsx') as writer:
df.to_excel(writer, sheet_name = 'sheet1',engine='xlsxwriter')
すでに 'df.to_excel(path、encoding = 'utf8')'を試したことがありますか? – Stefan
@Stefan私は、尋ねてくれてありがとう。確かに、私はこれをもう一度試しました - 今すぐ。まだ何も。 – jjj