私の目的は、utf-8エンコーディングでcsvファイルとしてpandasデータフレームを保存することです。値は長いリスト(long> 100 entries)です。私は、これらのリストの出力が100エントリに制限されていることに気付いた後、...
が続きます。 .to_csv()
でencoding='utf-8'
を設定すると、この問題が発生します:pandasはutf-8エンコーディングでcsvとして保存すると最初の100エントリのみを保存します
>>> import pandas as pd
>>>
>>> d = {"row": {'column': range(1, 150)}}
>>> df_out = pd.DataFrame(d)
>>> df_out.to_csv("wo_encoding.csv")
>>> df_out.to_csv("w_encoding.csv", encoding='utf-8')
>>>
>>> df_in1 = pd.read_csv("wo_encoding.csv")
>>> len(eval(df_in1.iat[0,1])) # eval() to create list from string
149
>>> df_in2 = pd.read_csv("w_encoding.csv")
>>> print(df_in2.iat[0,1][-13:]) # last 13 characters
99, 100, ...]
これはなぜでしょうか?これをバグと見なしますか? (エンコーディングを設定したままで)どうすれば回避できますか?
ファイルを保存するとき、またはインタプリタの中にファイルを表示すると言っていますか? –
これはファイル内にもあります。このコードは、エンコーディングのために何か起こっていることを示すためのものです。 – MERose
これはpython2ですか? –