合并excel
请教各位大佬,有三个文件夹,名称分别是营业额、客流、客单价,然后每个文件夹里都有多张表,名字都一样,是北京、苏州、上海,请问怎么可以根据城市的名称,把营业额、客流、客单价三张表按照对应的名称作为工作簿名称,存放在一个excel里 听起来没有复杂的计算,copy,按照你的格式要求paste就行。有实际的文件吗,网盘分享看看。
新鱼油能改头像???
xlwings 可以
pip install xlwings -i 国内镜像源,搜“pip国内”就行
然后访问 百度(意思是自己搜吧,我这没电脑) 用xlwrings库,可以带格式全部复制
遍历文件夹
获取目录名称
然后创建个新文件
然后读取旧文件copy到新文件里
保存新文件即可 你可以使用 Python 的 Pandas 库和 openpyxl 库来实现该功能,其中 Pandas 用于读取和处理 Excel 文件,openpyxl 用于创建和保存 Excel 文件。
具体步骤如下:
首先,安装 pandas 和 openpyxl 库,可以使用以下命令:
python
Copy code
pip install pandas openpyxl
读取每个文件夹下的 Excel 文件,将它们存储为 Pandas 数据帧(DataFrame)对象,并用文件夹名称作为数据帧名称:
python
Copy code
import pandas as pd
import os
# 设置文件夹路径
folder_paths = ['营业额', '客流', '客单价']
# 定义空的字典,用于存储数据帧
data_frames = {}
for folder_path in folder_paths:
# 获取文件夹下所有的Excel文件
files = os.listdir(folder_path)
# 读取每个Excel文件并存储为数据帧
for file in files:
city = os.path.splitext(file) # 获取文件名,即城市名称
file_path = os.path.join(folder_path, file) # 获取文件路径
df = pd.read_excel(file_path)
# 将数据帧存储到字典中,并以文件夹名称和城市名称作为键
key = folder_path + '_' + city
data_frames = df
创建一个 Excel 文件,将数据帧存储到不同的工作表中:
python
Copy code
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 创建一个工作簿
wb = Workbook()
# 将数据帧存储到工作表中
for key, df in data_frames.items():
sheet_name = key.replace('_', '-') # 将键中的 '_' 替换为 '-'
sheet = wb.create_sheet(sheet_name)
# 将数据帧的内容写入工作表中
for r in dataframe_to_rows(df, index=False, header=True):
sheet.append(r)
# 保存工作簿
wb.save('output.xlsx')
这样,就可以将所有的数据帧按照城市名称和文件夹名称存储到一个 Excel 文件中,并以文件夹名称和城市名称作为工作表名称。 你可以使用Python中的pandas库来实现这个需求。以下是一个可能的实现方法:
首先,你需要安装pandas库。你可以使用以下命令在命令行中安装它:pip install pandas
接下来,你可以使用以下代码来实现你的需求:
mport pandas as pd
import os
# 设置文件夹路径和城市名称列表
folders = ['营业额', '客流', '客单价']
cities = ['北京', '苏州', '上海']
# 创建一个空的excel文件
excel_file = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
# 遍历每个文件夹
for folder in folders:
# 创建一个空的dataframe列表
dfs = []
# 遍历每个城市
for city in cities:
# 拼接文件路径
file_path = os.path.join(folder, f"{city}.xlsx")
# 读取excel文件中名为Sheet1的工作簿,如果有多个工作簿,需要指定工作簿名称
df = pd.read_excel(file_path, sheet_name='Sheet1')
# 将数据框添加到列表中
dfs.append(df)
# 将数据框列表拼接成一个大的数据框,axis=1表示按列拼接
result_df = pd.concat(dfs, axis=1)
# 将数据框写入到Excel文件中,并指定工作簿名称
result_df.to_excel(excel_file, sheet_name=folder, index=False)
# 关闭Excel文件
excel_file.close()
这个代码会遍历每个文件夹和城市,将对应的数据框拼接成一个大的数据框,并将其写入到一个新的Excel文件中。在这个Excel文件中,每个文件夹对应一个工作簿,工作簿名称分别是“营业额”、“客流”和“客单价”。 我的回答去审核了… bluesky5210 发表于 2023-2-20 21:32
你可以使用 Python 的 Pandas 库和 openpyxl 库来实现该功能,其中 Pandas 用于读取和处理 Excel 文件,ope ...
plus的?
页:
[1]