to_csvでreplaceできない?

to_csvメソッドでは、直接Shift-JISエンコーディングを指定して置き換えることはできません。ただし、文字列を事前にShift-JISエンコーディングでエンコードしてからDataFrameをCSVファイルに書き込むことで、この問題を解決することができます。

以下はその方法です。

python
import pandas as pd # DataFrameを作成する(例として、dataというDataFrameを使用する) data = ... # CSVファイルに書き込む前に、Shift-JISエンコーディングでエンコードする encoded_data = data.applymap(lambda x: str(x).encode('shift-jis', errors='replace').decode('shift-jis')) # CSVファイルに書き込む encoded_data.to_csv('output.csv', encoding='shift-jis', index=False)

このコードでは、applymapメソッドを使用してDataFrame内のすべての要素をShift-JISエンコーディングでエンコードし、その後to_csvメソッドを使用してCSVファイルに書き込んでいます。エンコードされた文字列の置き換え方法は、encode_shift_jis関数と同様です。

未分類

Posted by ぼっち