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)