一个虚拟主机可以做两个网站吧,济南网站建设在哪里,网络专业有哪些,wordpress素锦模板这个问题之前有一个文章我写了这个方法#xff0c;但是后来发现效率太低了#xff0c;于是再次更新一下对应的技术方案#xff0c;提速5000倍。
一下代码主要实现的功能#xff1a;
我有5000多个excel文件#xff0c;每个文件是一只股票从上市至今的日K交易数据#xff0…这个问题之前有一个文章我写了这个方法但是后来发现效率太低了于是再次更新一下对应的技术方案提速5000倍。
一下代码主要实现的功能
我有5000多个excel文件每个文件是一只股票从上市至今的日K交易数据
现在我想知道每天所有股票的交易数据快照相当于要从5000多个excel文件中把日期相同的数据提出来形成一个以日期为标签的文件里面有所有股票这一天的交易数据。之前的思想依次从每个excel文件中找到某天的数据复制到对应的日期文件中去这里有一个缺点就是打开和写入excel文件对应计算的开销是很大的涉及到冷启动的问题。
加快的思想先把5000只股票的日K数据合并成一个excel不是合并建立excel帧把所有数据合并到一个excel帧中这个帧数据存储在内存当中然后再从内存中找到“交易日期”相同的项目形成一个excel表格。大大的加速。代码如下import pandas as pd
import os# 指定包含Excel文件的文件夹路径
folder_path D:\\tmp_financial\DailyK\standard_dailyK# 获取文件夹中所有Excel文件的文件名
excel_files [f for f in os.listdir(folder_path) if f.endswith(.xlsx)]# 创建一个空的DataFrame用于存储合并后的数据
merged_df pd.DataFrame()# 循环遍历所有Excel文件合并所有文件到一个数据帧merged_df 中
for file in excel_files:# 读取Excel文件print(file)df pd.read_excel(os.path.join(folder_path, file))# 将当前文件的数据添加到merged_df中merged_df pd.concat([merged_df, df])# 将合并后的数据保存到一个新的Excel文件中# 提取“交易时间”列
transaction_times merged_df[交易时间]
# 创建一个空的DataFrame用于存储具有相同“交易时间”的行
same_time_df pd.DataFrame()
file_extension .xlsx
des D:\\tmp_financial\DailyK\camera
# 使用交易时间迭代所有行
for time in transaction_times.unique():# 提取具有相同“交易时间”的行same_time_rows merged_df[merged_df[交易时间] time]# 将这些行添加到新的DataFrame中print(time)same_time_df same_time_df.append(same_time_rows)des_file os.path.join(des, time file_extension)same_time_df.to_excel(des_file, indexFalse)same_time_df pd.DataFrame()#清空这个数据帧等待下一个日期的数据进入