Pandas は複数の Excel シートをすばやくマージします

目次

1.Excelテーブルの命名規則がある場合

2.Excel表のファイル名が変則的な場合

1. まず、すべての Excel テーブルをフォルダーの下に置きます

2. pandas とマージする

3. ID番号の文字化けを統合する解決策


最近、Pandas を使用してテーブルをマージしたところ、効率が非常に高いことがわかりました.今、次の 2 つの方法を要約します。

1.Excelテーブルの命名規則がある場合

import pandas as pd
path = 'C:/Users/admin/Downloads/'  #excel表格所在文件路径
df = [] #创建一个空的列表
for i in range(1,11):   #excel表格的名字里面包含1-10
    path = path + 'excel表格名称{}.xlsx'.format(i)
    df.append(pd.read_excel(path))  #读取文件夹下所有excel文件
df_concat = pd.concat(df) #excel文件合并
df_concat.to_excel('C:/Users/admin/Downloads/合并结果.xlsx',index=None) #合并结果存储

2.Excel表のファイル名が変則的な場合

1. まず、すべての Excel テーブルをフォルダーの下に置きます

2. pandas とマージする

import pandas as pd
import os
path = 'C:/Users/admin/Downloads/'  #excel表格所在文件路径
df = [] #创建一个空的列表
for filename in os.listdir(dirs):   #获取文件夹下所有excel表格
    if filename.endwith('.xlsx'):
        path = dirs+filename
        df.append(pd.read_excel(path))  #读取文件夹下所有excel文件
df_concat = pd.concat(df) #excel文件合并
df_concat.to_excel(dirs+'{}.xlsx'.format('合并结果'),index=None) #合并结果存储

3. ID番号の文字化けを統合する解決策

IDカード番号を統合する際、エンコード方式により文字化けが発生してしまい、テーブル格納処理のエンコード方式では解決できませんが、以下の方法で完璧に解決できます。

data = pd.read_excel('C:/Users/admin/Downloads/file.xlsx',index=None,converters={'身份证号码':str})
#data['身份证号码'] = data['身份证号码'].apply(lambda x:"\t"+x)
data.to_excel('需要保存的文件路径/file.xlsx',encoding='gbk',index=None)

おすすめ

転載: blog.csdn.net/weixin_43734080/article/details/127885238