【Python】csvとxlsxの間でデータを変換する方法

目次

1.xlsxからcsvにデータを書き込む

        1.パンダを使用する

        2.パンダを使用しないでください

2.csvからxlsxにデータを書き込む

        1.パンダを使用する        

        2.パンダを使用しないでください


1.xlsxからcsvにデータを書き込む

        1.パンダを使用する

        XLSX (Excel) ファイルから CSV ファイルにデータを書き込むには、Python のpandasライブラリを使用できます。

        以下にプログラム例を示します。

import pandas as pd

# 从XLSX文件读取数据
df = pd.read_excel('input.xlsx')

# 将数据写入CSV文件
df.to_csv('output.csv', index=False)

上記の例では、まずpd.read_excel()メソッドを使用して XLSX ファイルからデータを読み取り、それを DataFrame オブジェクトとして保存しますdf次に、df.to_csv()このメソッドを使用してデータを CSV ファイルに書き込みます。これは、index=Falseインデックス列が含まれていないことを示します。

pandasこの例を実行する前に、まずライブラリをインストールする必要があることに注意してください。次のコマンドを使用してインストールできます。

pip install pandas

上記の方法でXLSXファイルのデータをCSVファイルに書き込み、CSV形式のデータを他のアプリケーションや環境で利用することができます。 

        2.パンダを使用しないでください

pandasライブラリを        使用していない場合は、openpyxlおよびcsvモジュールを使用して、XLSX ファイルから CSV ファイルにデータを書き込むことができます。

以下にプログラム例を示します。

import openpyxl
import csv

# 打开XLSX文件
wb = openpyxl.load_workbook('input.xlsx')

# 选择第一个工作表
sheet = wb.active

# 打开CSV文件
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)

    # 遍历工作表的行
    for row in sheet.iter_rows(values_only=True):
        writer.writerow(row)

# 关闭XLSX文件
wb.close()
  • 上記のコードでは、for row in sheet.iter_rows(values_only=True)ワークシート内のデータの各行を走査するためにループ ステートメントが使用されています。
  • sheet.iter_rows()はいopenpyxlワークシートの行を反復処理する、ライブラリ内のワークシート オブジェクトのメソッド。を設定するとvalues_only=True、セル オブジェクトを含むタプルの代わりに各セルの値を直接取得できます。
  • 各ループでは、row変数は現在の行のデータを表します。コードの次の行では、writer.writerow(row)現在の行のデータを CSV ファイルに書き込みます。
  • を使用するとsheet.iter_rows(values_only=True)、複雑なインデックスやセルの値を取得するメソッドを使用せずに、ワークシートの各行を簡単に反復処理し、その中のデータにアクセスできます。

 

2.csvからxlsxにデータを書き込む

        1.パンダを使用する        

        CSV ファイルから XLSX (Excel) ファイルにデータを書き込むには、Python のpandasライブラリとopenpyxlライブラリを使用できます。pandasこのライブラリは、CSV ファイルの読み取りと処理に便利なメソッドを提供する一方、openpyxlライブラリは Excel ファイルの作成と書き込みに使用されます。

以下にプログラム例を示します。

import pandas as pd

# 从CSV文件读取数据
df = pd.read_csv('input.csv')

# 创建Excel Writer对象
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')

# 将数据写入Excel文件
df.to_excel(writer, index=False)

# 保存并关闭Excel文件
writer.save()
writer.close()

上記の例では、まずpd.read_csv()メソッドを使用して CSV ファイルからデータを読み取り、それを DataFrame オブジェクトとして保存しますdf次に、Excel Writer オブジェクトを作成し、それをopenpyxlエンジンとして指定します。次に、インデックス列が含まれないことを示すdf.to_excel()メソッドを使用してデータを Excel ファイルに書き込みます。index=False最後に、writer.save()を使用して Excel ファイルを保存して閉じます。 

pandasこの例を実行するには、最初にとライブラリをインストールする必要があることに注意してくださいopenpyxl。次のコマンドを使用してそれらをインストールできます。 

pip install pandas openpyxl

上記の方法により、CSV ファイルから XLSX ファイルにデータを簡単に書き込み、必要に応じて Excel ファイルのさらなる操作を実行できます。

        2.パンダを使用しないでください

pandasライブラリを       使用していない場合は、openpyxlおよびcsvモジュールを使用して、CSV ファイルから XLSX ファイルにデータを書き込むことができます。

以下にプログラム例を示します。

import openpyxl
import csv

# 创建新的XLSX文件
wb = openpyxl.Workbook()
sheet = wb.active

# 打开CSV文件
with open('input.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)

    # 遍历CSV文件的行
    for row in reader:
        sheet.append(row)

# 保存XLSX文件
wb.save('output.xlsx')
  • 上記の例では、最初に新しい XLSX ファイルを作成し、そのデフォルトのアクティブ シートを ( 経由でwb.active) 取得しました。次に、組み込みcsvモジュールを使用して CSV ファイルを開き、csv.readerデータを読み取るオブジェクトを作成します。
  • 次に、for row in readerループを使用して CSV ファイルの各行を反復処理し、sheet.append(row)次を使用して各行を XLSX ファイルのシートに追加します。
  • 最後に、wb.save()メソッドを使用して XLSX ファイルを保存します。

おすすめ

転載: blog.csdn.net/weixin_43569834/article/details/131406292