有时需要将多个相同格式的表格合并为一个表格,一个一个打开复制太麻烦了,可以借助Python中的concat函数自动全部合并。
import os
import pandas as pd
# 将文件读取出来放一个列表里面
path = r'E:\dosn2\qiyexinxi' # 获取文件目录,下面是所有的表格
# 新建列表,存放文件名
file_list = []
# 新建列表存放每个文件数据(依次读取多个相同结构的Excel文件并创建DataFrame)
dfs = []
for root,dirs,files in os.walk(path): # 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
for file in files:
file_path = os.path.join(root, file)
file_list.append(file_path) # 使用os.path.join(dirpath, name)得到全路径
df = pd.read_csv(file_path,encoding="gbk") # 将excel转换成DataFrame
dfs.append(df) # 多个df的list
# 将多个DataFrame合并为一个
df = pd.concat(dfs)
# 写入excel文件,不包含索引数据
df.to_excel(r'E:\dosn2\qiyexinxi\result.xls', index=False)