【Python】to_excelメソッドでCSVファイルをExcel形式に変換

    CSVファイルをExcel形式に変換する

    CSVはExcelと並んでよく仕事で見かけるファイル形式です。データをカンマで区切って並べたテキストファイルで表形式のデータを受け渡しするときに使います。

    ここではCSVファイルをExcelファイルに変換し、または逆にExcelファイルをCSVファイルに変換する方法を説明します。
    まだPythonってなに?って人は開発環境から整えていきましょう

    サンプルのExcel、CSVデータは下のボタンよりどうぞ

    今回はサンプルプログラムが2つあります。to_excel.pyはdata1.csvからdata1.xlsxを作成します。

    python to_excel.py

    haruki
    to_excel.pyを実行すると・・・

    動画で流れを確認した後に、記事を読んでいただくと理解が進むので、おすすめです。

    to_csv.pyはその逆でdata2.xlsxからdata2.csvを作成します。

    to_csv.pyを実行すると

    プログラムを見ていきましょう。

    まずはCSVファイルをExcelファイルに変換するto_excel.pyです。

    to_excel.py

    import pandas as pd
    
    # 読み込むcsvファイルのリスト
    
    file_list = ["data1.csv", "data2.csv", "data3.csv"]
    
    # CSVデータを蓄積するリスト
    
    data_list = []
    
    # csvファイルを読み込むループ
    
    for csv_filename in file_list:
    
        # csvファイルの読み込み
    
        df = pd.read_csv(csv_filename)
    
        # 行ループ
    
        for index, rows in df.iterrows():
    
            # 1行分のデータを保存する作業用リスト
    
            work = []
    
            # 列ループ
    
            for col in rows:
    
                # 列を追加
    
                work.append(col)
    
            # 1行分のデータをリストに追加
    
            data_list.append(work)
    
    # 最後に読み込んだCSVファイルから列名を取得
    
    columns = list(df.columns)
    
    print(data_list)
    
    # data_listを元にデータフレームを作成
    
    df = pd.DataFrame(data_list, columns=columns)
    
    with pd.ExcelWriter("data.xlsx") as writer:
    
        df.to_excel(writer, index=False)

    CSVやExcelなどの表形式のデータを扱うには、pandasというパッケージを使います。

    使い方は結構簡単です。

    CSVファイルを読み込たい時read_csvを使うとデータフレームという形式のオブジェクトを返します。

    データフレームをExcel形式で保存するときto_excelメソッドを使います。

    その前のwith pd.excel writerからセットで1つの保存処理と考えてください。

    read_csvで読み込みto_excelで保存です。

    てらやん

    意外と簡単そうですね。

    次はExcelファイルからCSVファイルへの変換を行うto_csv.pyです。

    to_csv.py

    import pandas as pd
    
    # Excleファイルのファイル名を変数に格納する
    
    file_name = "data2.xlsx"
    
    # Excelファイルを読み込む
    
    df = pd.read_excel(file_name, engine="openpyxl")
    
    # ファイルの拡張子をxlsxからcsvに変更して変数に格納する
    
    csv_filename = file_name.replace("xlsx", "csv")
    
    # csv形式で書き出し
    
    df.to_csv(csv_filename)

    ExcelファイルをCSV形式で保存するときはto_csvメソッドを使います。

    データフレームオブジェクトはpandasの表データです。

    1列分を抜き出したseriesオブジェクトもよく使われます。

    データフレームオブジェクトではメソッドや属性を利用して、データの挿入や削除、連結、集計等の処理を行います。

    つまりExcelのような表データに使えるということです。

    PythonでExcelを操る他テクニック

    複数のファイルの文字をまとめて置き換えする

    openpyxlの使い方 Excelの差し込みがワンクリックで

    tabulaのconvert_into関数でPDFファイルをExcelに変換

    これは便利!Pythonのconcat関数で追記するプログラムをつくる

    【Python】項目がバラバラなExcelファイルを一つにまとめる

    【Python】globモジュールの便利な使い方

    iterrowsメソッドで複数のファイルを1つにまとめる

    Pythonの開発環境をAnacondaで整える~プログラム実行まで~

    よかったらシェアしてね!
    • URLをコピーしました!