Udemyでもプログラミングを教えていますUdemy

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

  • URLをコピーしました!
目次

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をコピーしました!
  • URLをコピーしました!
目次