PythonCSVを複数のシートワークシートにマージ

目的

複数のCSVファイルを1つのExcelファイル、複数のシートワークシートに結合します。

序文

インターネット上のほとんどの方法は、csvを直接マージすることであり、個別のシートを作成することはありません。
CSVが複数のシートへのマージをサポートしていないという回答もいくつかあります。
Pythonの複数のCSVファイルが複数のシートワークシートに統合された完璧なソリューション

インターネット上には便利なマクロコマンドがあります。試してみましたが、インポートできるのは1枚だけです。また、便利なPythonであり、それらのほとんどは役に立たない。

困難にもかかわらず、最終的にパンダライブラリを使用して目標を達成しました。

開始

次のコードが使用されます。データを含む2つのcsvファイルです。(2019-04-01.csvおよび2019-04-02.csv)

import pandas as pd
writer = pd.ExcelWriter('test.xlsx')
data1 = pd.read_csv("2019-04-01.csv", encoding="gbk")
data2 = pd.read_csv("2019-04-02.csv", encoding="gbk")
data1.to_excel(writer,sheet_name='2019-04-01')
data2.to_excel(writer,sheet_name='2019-04-02')
writer.save()

最初のステップは、パンダライブラリをインポートすることです。

次に、pandas.read_csvを使用して、各csvのデータフレームを作成する必要があります

データフレームを使用すると、Excelでテーブルに変換できます。最後に保存します。

上記のコードは、2019-04-01.csvと2019-04-02.csvをtest.xlsxテーブルにインポートし、それらの2つのシートワークシート2019-04-01と2019-04-02を作成するためのものです。

実行

実行後にtest.xlsxを開きます。効果は以下のとおりです。
Pythonの複数のCSVファイルが複数のシートワークシートに統合された完璧なソリューション

美化する

目標は達成されましたが、最初の列は異常です。もう1つの行番号
Pythonの複数のCSVファイルが複数のシートワークシートに統合された完璧なソリューション

したがって、行番号の列を削除するように変更する必要があります。方法はとても簡単です。パラメータindex_col = 0を追加します

data1 = pd.read_csv("2019-04-01.csv", encoding="gbk",index_col=0)
data2 = pd.read_csv("2019-04-02.csv", encoding="gbk",index_col=0)

今すぐtest.xlsxを削除します。もう一度実行してください。効果は次のとおりです。
Pythonの複数のCSVファイルが複数のシートワークシートに統合された完璧なソリューション

完璧な解決策!

補足

多くの場合、ファイル名を1つずつ入力したくありません。代わりに、処理するすべてのcsvファイルをフォルダーに入れますPythonがこれらのcsvファイルを自動的に読み取り、Excelファイルを作成し、ファイル名をシートとしてExcelファイルに自動的にインポートするようにします。

コード:

import pandas as pd
import os

newdir = 'G:\编程代码\python代码\表格\\new'
list = os.listdir(newdir)  # 列出文件夹下所有的目录与文件

writer = pd.ExcelWriter('步数.xlsx')

for i in range(0,len(list)):
    data = pd.read_csv(list[i],encoding="gbk", index_col=0)
    data.to_excel(writer, sheet_name=list[i])


writer.save()

おすすめ

転載: blog.csdn.net/qq_34626094/article/details/112919663