データベースからの結果をExcelで開くためにShift-JISで保存したいです。
result = pandas.read_sql(sql=sql, con=conn) data = result.to_csv(Index=False) dataByte = data.encode(encoding = "utf-8", errors = "replace") data2 = dataByte.decode(encoding = "shift_jis", errors = "replace")
出力されたCSVファイルをサクラエディタで開くと文字化けしています。
UTF-8で開いてもShift-JISで開いても、です。
data2 = result.to_csv(Index=False, encoding="shift-jis")
にするとUTF-8で保存されます。
実際にどのように文字化けするかは、今は開発環境に入れないので提示できなくて申し訳ありません。
クライアントのOSはWindows10、エクセルは2016です。
処理をしている環境は、AWS, Lambda, Python 3.8, Redshiftです。
どうかよろしくお願いいたします。
追記
どうもPythonだけの問題じゃなく、AWS S3周りかもしれません。
データベースからの結果をS3に保存しています。
obj = bucket.put_object(Body = instring, Key = path, ContentType = "text/comma-separeted-values;charset=shift-jis", ContentEncoding="shift-js"
と書いてもUTF-8で保存されます。
回答1件
あなたの回答
tips
プレビュー