python 求代码,一个文件夹中有多个工作簿并且里面表格式一样,如何合并后格式不变
import osimport pandas as pd
# 设置要读取的文件夹路径和工作表名称
folder_path = '合并文件'
# 定义一个空的DataFrame,用于存储所有工作簿数据
all_data = pd.DataFrame()
# 循环遍历文件夹中的所有Excel文件,并将数据添加到all_data中
for file_name in os.listdir(folder_path):
# 判断文件是否为Excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
# 读取工作簿文件中的数据
file_path = os.path.join(folder_path, file_name)
df = pd.read_excel(file_path)
# 将读取的数据添加到all_data中
all_data = all_data.append(df, ignore_index=True)
# 将合并后的数据保存到一个新的Excel工作簿中
writer = pd.ExcelWriter('合并后.xlsx')
all_data.to_excel(writer index=False)
writer.save()
以上为我的代码,运行后合并的表格式变了 可以尝试在将所有工作簿数据添加到all_data中之前,先将所有工作簿的列名提取出来,然后再将数据添加到all_data中。这样可以确保合并后的表格式不变。以下是修改后的代码:
import os
import pandas as pd
# 设置要读取的文件夹路径和工作表名称
folder_path = '合并文件'
# 定义一个空的DataFrame,用于存储所有工作簿数据
all_data = pd.DataFrame()
# 循环遍历文件夹中的所有Excel文件,并将数据添加到all_data中
for file_name in os.listdir(folder_path):
# 判断文件是否为Excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
# 读取工作簿文件中的数据
file_path = os.path.join(folder_path, file_name)
df = pd.read_excel(file_path)
# 获取工作簿的列名
columns = df.columns
# 将读取的数据添加到all_data中
all_data = all_data.append(df, ignore_index=True)
# 将列名设置为之前提取出来的列名
all_data.columns = columns
# 将合并后的数据保存到一个新的Excel工作簿中
writer = pd.ExcelWriter('合并后.xlsx')
all_data.to_excel(writer, index=False)
writer.save() isdkz 发表于 2023-5-26 14:19
可以尝试在将所有工作簿数据添加到all_data中之前,先将所有工作簿的列名提取出来,然后再将数据添加到all_ ...
我写的代码,列合并后是一致的,只是每个工作表里的前几行有合并单元格操作,所以我的代码运行后原合并单元格取消了
页:
[1]