- 主题:Python把一个目录下所有excel文件指定同名的sheet
import os
import pandas as pd
# 设定目录和sheet的名称
directory = 'path_to_your_directory'
sheet_name = 'your_sheet_name'
output_file = 'merged_sheets.xlsx'
# 初始化一个空的DataFrame,用于之后合并数据
all_data = pd.DataFrame()
# 遍历目录下的所有文件
for file in os.listdir(directory):
if file.endswith('.xlsx') and not file.startswith('~$'): # 跳过临时文件
file_path = os.path.join(directory, file)
# 读取每个文件的指定sheet
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 将数据添加到all_data DataFrame
all_data = all_data.append(df, ignore_index=True)
# 将合并后的数据写入新的Excel文件
all_data.to_excel(output_file, index=False)
chatgpt
--
FROM 111.206.214.*
老大们,太猛了。。我还没自己写呢。。
谢谢
【 在 updatedq 的大作中提到: 】
: import os
: import pandas as pd
: # 设定目录和sheet的名称
: ...................
--
FROM 1.203.66.*
如果想保留格式呢。只是单纯的吧工作簿合并
【 在 updatedq 的大作中提到: 】
: import os
: import pandas as pd
: # 设定目录和sheet的名称
: ...................
--
FROM 1.203.66.*
我没有试,但看代码,也没有改内容呀
你试试呗
【 在 dmyk 的大作中提到: 】
: 如果想保留格式呢。只是单纯的吧工作簿合并
:
--
FROM 111.206.214.*
pandas或openpyxl
--
FROM 60.1.7.*
那就麻烦了,可能要直接用excel的com接口
因为控制格式的参数太多了,没法一个一个设置。
最直接的办法,是选定数据的range,然后用代码复制粘贴到一个sheet。
【 在 dmyk 的大作中提到: 】
: 如果想保留格式呢。只是单纯的吧工作簿合并
:
--
FROM 223.72.44.*
代码是Python还是vba 啊
【 在 finlab 的大作中提到: 】
: 那就麻烦了,可能要直接用excel的com接口
: 因为控制格式的参数太多了,没法一个一个设置。
: 最直接的办法,是选定数据的range,然后用代码复制粘贴到一个sheet。
: ...................
--
FROM 1.203.66.*
这个无所谓,会用哪个用哪个。
调用的接口都是一个
【 在 dmyk 的大作中提到: 】
: 代码是Python还是vba 啊
:
--
FROM 223.72.44.*
牛逼,三行搞定
【 在 finlab 的大作中提到: 】
: 不要格式只要数据的话, 用pandas
: dfs=[pd.read_xls(path+“/”+fn,sheet_name="name") for fn in os.listdir(path)]
: df=pd.concat(dfs)
: ...................
--
FROM 114.250.32.*
re
【 在 finlab 的大作中提到: 】
: 不要格式只要数据的话, 用pandas
: dfs=[pd.read_xls(path+“/”+fn,sheet_name="name") for fn in os.listdir(path)]
: df=pd.concat(dfs)
: ...................
--
FROM 101.38.124.*