csvファイルをエクセルファイルに変換する

pythonでcsvファイルをエクセルファイルに変換する

pythonでcsvファイルをエクセルファイルに変換する方法。
ぐぐったらすぐ出てくるけど、自分のとこにもメモしとく。
ついでに、おまけとしてcsvファイルを読んで、各列の平均値を出力する処理も載せとく。

準備

必要なモジュールをインストールしておく。

pip install pandas openpyxl

プログラム

import sys
import os

import pandas as pd

# コマンドラインパラメータ
args = sys.argv

# エラーチェックは省略
# 入力ファイル(csv形式、拡張子は任意)の拡張子をxlsxに変更したファイルとして出力する

input_file = args[1]                                        # 入力ファイル名
output_file = os.path.splitext(input_file)[0] + ".xlsx"     # 出力ファイル名
 
# CSVファイルの読み込み
data = pd.read_csv(input_file, index_col=0)     # 1行目がヘッダ、1列目がインデックスとする

# Excel形式で出力
data.to_excel(output_file, encoding='utf-8')

おまけ

csvファイルを読んで、各列の平均値を出力する処理をワンライナーで。
(前提:1行目がヘッダ、1列目がインデックス)

python -c "import sys; import pandas as pd; data = pd.read_csv(sys.argv[1], index_col=0); ave=data.mean(); print(ave)" «csvファイル»