私はpandasを使用してexcelで作成したcsvファイルを読み込み、分析して結果をcsvファイルに保存しています。私はパンダto_csvとfrom_csvメソッドは\ rのような特殊文字を扱うことができないようだが、いずれのエラーも発生しないことに気づいた。私はここに任意のエンコーディングを指定していないよのでcsvファイルの書き込みと読み込み時に特殊文字( r)の問題
In [7]: import pandas as pd
In [8]: data = {
'A': ['one', 'two', 'three'],
'B': ['four', 'five', 'six']
}
In [9]: df = pd.DataFrame(data)
In [10]: df
Out[10]:
A B
0 one four
1 two five
2 three six
In [11]: df.loc[1,'A'] = 't' + '\r' + 'o'
In [12]: df
Out[12]:
A B
0 one four
1 t\ro five
2 three six
In [13]: df.to_csv("my_df.csv")
In [14]: df2 = pd.DataFrame.from_csv("my_df.csv")
In [15]: df2
Out[15]:
A B
0 one four
1 t NaN
o five NaN
2 three six
私はそれがASCIIを使用しているが、私はエンコーディングを指定する際にも=「UTF-8」書き込みや読み出しのためには、私は同じ結果を得ると仮定しています。
行/列が壊れていないか、他の予期しないことが起こるように、堅牢なcsv書き込みスクリプトと読み取りスクリプトを作成するにはどうすればよいですか?唯一の解決策がcsvに書き込む前にすべての文字列をチェックして 'きれいにする'ことであれば、それを行う最も簡単な方法は何ですか?
CSVはかなりワイルドなフォーマットであります多くの方言でRFC 4180はそれを定義しようとします。そこ。キャリッジリターン( '\ r')は、TEXTDATAブロック内では許可されません。これはライン(レコード)区切り文字の一部です。 –