質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

0回答

1010閲覧

PythonのPandasでcsvファイルをexcelに変換したい

sysder

総合スコア25

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2020/07/15 09:19

編集2020/07/16 08:29

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の仕様でした。
添付画像の表示が異なる件は未解決です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/07/15 11:49

そのエクセルファイルを開くことは出来るのでしょうか?
sysder

2020/07/15 12:04

開くとこができます。
meg_

2020/07/15 12:33

手元の環境(Windows)で試しましたが、fileコマンド@cygwinで「 Zip archive data, at least v2.0 to extract」と表示されますね。そのファイルをExcelで開いて保存したところ、ファイルサイズが6KB→9KBになりました。厳密にはExcelファイルとは何か違うのかもしれませんね。
sysder

2020/07/15 13:48

Excelで開いた時、ヘッダーが太字になっていませんでしたか?
meg_

2020/07/15 14:49

なってますね。 柔軟に操作したいのであればopenpyxlなどの他のモジュールを使用することになるかと思います。
sysder

2020/07/15 22:52 編集

なってるんですね。 pythonを使用する際にanacondaを使っていますか? 今回、Amazon Linux2にpython3とpandas, openpyxlをインストールして行い、上手くいきませんでした。 dockerでubuntu, anacondaを使用して実行した場合、正常にExcelファイルに吐き出されました。 pandasとopenpyxlだけではライブラリが不足しているんですかね。anacondaに入っている何かのライブラリがないと上手くいかないとか。
meg_

2020/07/16 00:20

>pythonを使用する際にanacondaを使っていますか? 使ってます。 pipインストールであれば、依存関係にあるモジュールはまとめてインストールされるはずなので不足していることはないかと思います。(もし不足が有れば通常は実行時にエラーが出るかと思います)
sysder

2020/07/16 01:44

なるほど。 pandasではなくopenpyxlで試してみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問