Amazon Linux2のEC2内で、以下のコードでcsvファイルをxlsxファイルに変換しています。
Python3
1import openpyxl 2import pandas as pd 3 4csv_file = pd.read_csv(csv_file_name, encoding='utf-8') 5csv_file.to_excel(xlsx_file_name, index=False, encoding='utf-8')
作成されたxlsxファイルをfileコマンドで確認したところ,
$ file xlsx_file_name
以下のようにzipのデータであると表示されます。拡張子はxlsxになっています。
xlsx_file_name: Zip archive data, at least v2.0 to extract
zipではなくexcelのファイルとして出力したいのですが、どのような処理をすればいいのでしょうか。
同じような質問が以下のstack overflowにあったのですが、import magicを使用していないため解決しませんでした。。。
同じ事象のstack overflow
ちなみに、出力されたファイルをMacに落としてきてファイルを開いて見ると、ヘッダーが太字になってしまいます。
また添付の画像のように、正常なexcelファイルは画像の右の表示になるのですが、出力されたファイルは左の表示になります。
anacondaのpythonを使って同様の処理をしたところ、以下のように変わりましたが、ファイルはヘッダーが太文字になったり添付画像のままです。
before: xlsx_file_name: Zip archive data, at least v2.0 to extract
after: xlsx_file_name: Microsoft Excel 2007+
ヘッダーが太字なる件は、pandasのto_excelの仕様でした。
添付画像の表示が異なる件は未解決です。
あなたの回答
tips
プレビュー