import pandas as pd import os # 读取Excel文件1,即五千只股票收盘后的快照数据,这是日期文件,按照这个日期生成快照 file1 = 'D:\\tmp_financial\DailyK\TEST\date.xlsx' df1 = pd.read_excel(file1) # 定义目标文件夹路径 source = "D:\\tmp_financial\DailyK\standard_dailyK" des = "D:\\tmp_financial\DailyK\standard_camera" file_extension = ".xlsx" # 循环遍历文件1的所有行 for index, row in df1.iterrows():#一行一行的读取 # 获取交易时间 date = row['交易时间'] print(date) #创建一个空的excel,列名先固定下来 columns = { '证券代码': [], '交易时间': [], '开盘价': [], '最高价': [], '最低价': [], '收盘价': [], '前收盘价': [], '涨跌幅': [], '5日涨跌幅': [], '10日涨跌幅': [], '20日涨跌幅': [], '60日涨跌幅': [], '成交量(手)': [], '量比': [], '换手率(%)': [], '市盈率(TTM,亏损的PE为空)': [], '流通市值(万元)': [], '振幅': [] } #print(columns) #根据上面的列名创建一个空的excel df = pd.DataFrame(columns) #print(columns) #根据日期和之前设定的路径,生成最后存入的文件名称 des_file = os.path.join(des, date + file_extension) for filename in os.listdir(source): if filename.endswith('.xlsx'): # 检查是否为 Excel 文件 #打开对应文件 file_path = os.path.join(source, filename) df3 = pd.read_excel(file_path) print(filename) #print(df3.columns) # 找到date行 filtered_df = df3[df3['交易时间'] == date] if not filtered_df.empty: df = df.append(filtered_df, ignore_index=True) else: print("没有找到符合条件的行") col_names = df.columns.tolist() print("乱序", df.columns) col_names = [col_names[16], col_names[4], col_names[7], col_names[13], col_names[12], col_names[11], col_names[5], col_names[15], col_names[2], col_names[0], col_names[1], col_names[3], col_names[8], col_names[17], col_names[10], col_names[6], col_names[14], col_names[9]] df = df.reindex(columns=col_names) print("修正", df.columns) df.to_excel(des_file, index=False)