データがExcelで提供されている。でもcsvで欲しい...
そんなことありますよね。
ひとつのシートならともかく、複数のシートが入ったExcelファイルをシートごとにcsvで出力するのは面倒です。
ググるとマクロとか出てくるんですが、CLIでやりたいですよね!GUI苦手です...
そこでPython3で解決できたのでメモ。
## 方法
まず、必要なパッケージをインストールします。
pip3 install xlrd pandas
では本題のpython3のコードです。簡単にできました。
import sys
import pandas as pd
target = sys.argv[1]
df = pd.read_excel(target, sheet_name=None)
for k in df.keys():
out = "./mutations/" + k + ".csv"
df[k].to_csv(out, index=False)
データ分析でよく使われるpandas
でExcelファイルが読めたので助かりました。
以下に簡単に解説します。
-
pd.read_excel
を使うことで、引数で与えたExcelファイルtarget
を読みます。sheet_name=None
とすることで、すべてのシートを読み込み、シート名をキーとし、データフレームを値として持つ辞書が得られます。 -
for
文でそれぞれのシートをcsv形式で書き込みます。out
変数は出力ファイル名です。index
はお好みで。False
にすると indexは書き込まれません。