【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で整える~プログラム実行まで~

最新情報をチェックしよう!
>プログラミング 独学

プログラミング 独学

本当にプログラミングを学びたい人のためになるブログにしたいと思っていますので、些細なことでも気が付いたのであればご報告いただけると幸いです。

CTR IMG