【Python】 Excel操作 CSVファイルに出力

■ExcelファイルをCSVファイルに出力

以下のExcelファイルを読み込み、CSVファイルに出力する

・ファイル名
Sample.xlsx

・サンプルコード

# -*- Coding: UTF-8 -*-
import openpyxl
import pandas as pd

# csv出力関数
def ExcelToCsv():
    # 定数
    SPECIES_COL = 1
    WEIGHT_COL = 2

    # 変数
    data_row = 1
    data_list = []
    species_data = ''
    weight_data = ''

    # 既存のエクセルファイルを読み込む
    WorkBook = openpyxl.load_workbook(filename='Sample.xlsx')

    # シートの設定
    WorkSheet = WorkBook.worksheets[0]

    # データの数だけ繰り返し
    while not WorkSheet.cell(row=data_row, column=SPECIES_COL).value is None:
        # 種別の値を変数に格納
        species_data = WorkSheet.cell(row=data_row, column=SPECIES_COL).value
        # 重さの値を変数に格納
        weight_data = WorkSheet.cell(row=data_row, column=WEIGHT_COL).value

        # 一時配列にデータを格納
        tmp_data_list = [species_data, weight_data]

        # 配列に追加
        data_list.append(tmp_data_list)

        # インクリメント処理
        data_row = data_row + 1

    # csv出力
    result_data = pd.DataFrame(data_list)
    result_data.to_csv('result_data.csv', index=False, header=False)

    # Excelファイルを保存
    WorkBook.save('Sample.xlsx')

    # Excelファイルを終了
    WorkBook.close()

# 出力したcsvファイルを表示する関数
def ReadCsvFile():
    df = pd.read_csv('result_data.csv')
    print(df)

# メイン処理
if __name__ == "__main__":
    ExcelToCsv()
    ReadCsvFile()

・実行結果

   Species  Weight(g)
0        A          2
1        B          5
2        A          3
3        A          3
4        B          9
5        A          4
6        A          4
7        B          6
8        B          8
9        A          4
10       A          4
11       A          5
12       B          6
13       B          8
14       B          7
15       A          5
16       B          7
17       A          6
18       B          7
19       B          7

コメント