你可以使用以下代码来实现将多个以月份命名的Excel文件中的最高温度列合并为一个新表:
import pandas as pd
import os
# 获取当前目录下的所有Excel文件名
all_files = os.listdir('.')
excel_files = [file for file in all_files if file.endswith('.xlsx') or file.endswith('.xls')]
# 初始化一个空的DataFrame,用于存储合并后的数据
merged_df = pd.DataFrame()
# 遍历Excel文件
for file in excel_files:
# 获取月份作为新列的名称,假设文件名为 "2023-01.xlsx",并且最高温度列名为 "最高温度"
month = file.split('.')[0]
# 读取Excel文件
temp_df = pd.read_excel(file)
# 设置序号列为索引
temp_df.set_index('序号', inplace=True)
# 提取最高温度列,并重命名为对应的月份
temp_df = temp_df[['最高温度']].rename(columns={'最高温度': month})
# 合并数据
if merged_df.empty:
merged_df = temp_df
else:
merged_df = merged_df.join(temp_df)
# 将合并后的数据写入新的Excel文件
merged_df.to_excel('merged_file.xlsx')
这段代码将当前目录下的所有以月份命名的Excel文件中的最高温度列合并为一个新表,以序号为索引列,以月份为每列名称。合并后的数据将被写入一个名为merged_file.xlsx
的新Excel文件。请确保你的工作目录中只包含需要合并的Excel文件,否则你可能需要适当调整代码以筛选出正确的文件。