# 创建一个空的DataFrame,用于存储所有小时的求和结果 sum_data = pd.DataFrame() # 读取多个表格并执行相同的操作 for file in ['城二.xlsx', '涪陵.xlsx', '长寿.xlsx']: # 读取Excel文件 df = pd.read_excel(file) # 将时间列转换为datetime类型 df['时间'] = pd.to_datetime(df['时间'], format='%H:%M:%S') # 迭代每个小时 for hour in range(24): # 选择特定小时的数据行 data_hour = df.loc[df['时间'].dt.hour == hour] # 对多个列进行求和,并输出为一行数据 sum_hour = data_hour[['下行平均可用PRB个数', '下行平均使用的PRB个数', '下行调度平均流数', '上行平均可用PRB个数', '上行平均使用的PRB个数', '上行调度平均流数', '平均使用的PDCCH CCE个数', '平均可用的PDCCH CCE个数', '下行PRB*空分流', '上行PRB*空分流']].sum().to_frame().T.reset_index(drop=True) # 将每个小时的求和结果追加到总的结果DataFrame中 sum_data = pd.concat([sum_data, sum_hour], ignore_index=True) # 将结果保存到Excel表格 sum_data.to_excel('结果.xlsx', index=False)我希望每个不同的excel文件的结果能够在同一个表格中,但是含有各自的表头,能够分开
时间: 2024-04-15 08:30:13 浏览: 152
如果您希望每个不同的Excel文件的结果能够在同一个表格中,但含有各自的表头并能够分开,可以按照以下方式修改代码:
```python
import pandas as pd
# 创建一个空的DataFrame,用于存储所有文件的结果
all_data = pd.DataFrame()
# 读取多个表格并执行相同的操作
for file in ['城二.xlsx', '涪陵.xlsx', '长寿.xlsx']:
# 读取Excel文件
df = pd.read_excel(file)
# 将时间列转换为datetime类型
df['时间'] = pd.to_datetime(df['时间'], format='%H:%M:%S')
# 迭代每个小时
for hour in range(24):
# 选择特定小时的数据行
data_hour = df.loc[df['时间'].dt.hour == hour]
# 对多个列进行求和,并输出为一行数据
sum_hour = data_hour[['下行平均可用PRB个数', '下行平均使用的PRB个数', '下行调度平均流数', '上行平均可用PRB个数', '上行平均使用的PRB个数', '上行调度平均流数', '平均使用的PDCCH CCE个数',
'平均可用的PDCCH CCE个数', '下行PRB*空分流', '上行PRB*空分流']].sum().to_frame().T.reset_index(drop=True)
# 添加文件名作为新的列
sum_hour['文件名'] = file
# 将每个小时的求和结果追加到总的结果DataFrame中
all_data = pd.concat([all_data, sum_hour], ignore_index=True)
# 创建一个ExcelWriter对象,用于将结果写入到Excel表格中
writer = pd.ExcelWriter('结果.xlsx', engine='xlsxwriter')
# 将总的结果DataFrame写入到ExcelWriter对象中的总结果工作表中
all_data.to_excel(writer, sheet_name='总结果', index=False)
# 按文件名分组,将每个文件的结果写入到ExcelWriter对象中的不同工作表中
for file, data in all_data.groupby('文件名'):
data.to_excel(writer, sheet_name=file, index=False)
# 保存ExcelWriter对象中的结果到Excel表格中
writer.save()
```
这段代码将在同一个Excel文件中,包含名为'总结果'的总结果工作表,并在其他工作表中分别包含每个文件的结果,工作表名与文件名对应。每个工作表都会有各自的表头,并且所有结果也会被保存在一个总的结果DataFrame中。
请尝试使用修改后的代码,并将Excel文件命名为'结果.xlsx',查看是否符合您的需求。
阅读全文