動作検証バージョン:Windows 10 + Python 3.7.3 + pandas 0.24.2
「python excelファイルをCSVに変換」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
さまざまな方法が考えられますが、pandasを使うのが一番シンプルなコードで済みそうです。
[スポンサードリンク]
pandasでExcelをCSVに変換するスクリプト
以下のスクリプトを実行すると、Cドライブtempフォルダーのfoo.xlsxの先頭シートが、同じフォルダーにhoge.csvとして出力されます。
import pandas
df = pandas.read_excel('C:\\temp\\foo.xlsx', sheet_name=0)
df.to_csv('C:\\temp\\hoge.csv', index=False)
df = pandas.read_excel('C:\\temp\\foo.xlsx', sheet_name=0)
df.to_csv('C:\\temp\\hoge.csv', index=False)
pandasでExcelをCSVに変換する際のポイント
pandas.read_excelを使うと、ExcelをpandasのDataFrameにできます。
引数sheet_nameという名前からは、シート名しか指定できなさそうに感じますが、「Integers are used in zero-indexed sheet positions.」とあるとおり、何枚目のシートかを0始まりで指定できます。上記のスクリプトではsheet_name=0としているので、先頭シートを指定していることになります。
df = pandas.read_excel('C:\\temp\\foo.xlsx', sheet_name=0)
CSVの出力は、pandas.DataFrame.to_csvです。
df.to_csv('C:\\temp\\hoge.csv')
でもC:\tempフォルダーにhoge.csvが出力できますが、1列目にDataFrameの持つ行番号も出力されます。これを避けるために
df.to_csv('C:\\temp\\hoge.csv', index=False)
としています。
最終更新日時:2019-07-10 15:19
[スポンサードリンク]
- Newer:xlrdで最後・右端のシートを取得する
- Older:xlrd.sheet.Cellの識別値
Home » Python » pandasの使い方 » pandasでExcelをCSVに変換する