当前位置: 首页 > news >正文

将多个excel文件中的特定数据汇总到一个excel中

比如5000个excel文件中都有1月2日的交易数据。现在需要将每个文件中1月2日的数据提出来,组成一个新的excel文件,即1月2日的交易数据文件,以1月2日命名。下面的程序是将5000只股票1月2日的交易数据提出来,形成一个1月2日所有股票的交易数据快照。import pandas as pd
import os# 这个文件是存入新的excel文件的日期文件
file1 = 'D:\\tmp_financial\DailyK\TEST\date.xlsx'
df1 = pd.read_excel(file1)# 定义目标文件夹路径
source = "D:\\tmp_financial\DailyK\standard_dailyK"#5000只excel文件目录
des = "D:\\tmp_financial\DailyK\standard_camera"#将要存入的文件目录
file_extension = ".xlsx"#写入的文件类型是excel# 循环遍历文件1的所有行
for index, row in df1.iterrows():#一行一行的读取# 获取交易时间date = row['交易时间']#创建一个空的excel,列名先固定下来,用来存快照数据columns = {'证券代码': [],'交易时间': [],'开盘价': [],'最高价': [],'最低价': [],'收盘价': [],'前收盘价': [],'涨跌幅': [],'5日涨跌幅': [],'10日涨跌幅': [],'20日涨跌幅': [],'60日涨跌幅': [],'成交量(手)': [],'量比': [],'换手率(%)': [],'市盈率(TTM,亏损的PE为空)': [],'流通市值(万元)': [],'振幅': []}#根据上面的列名创建一个空的exceldf = pd.DataFrame(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)# 找对应excel文件中日期匹配的那一行filtered_df = df3[df3['交易时间'] == date]if not filtered_df.empty:df = df.append(filtered_df, ignore_index=True)#写入前面创建的excel文件中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)

相关文章:

  • SpringBoot中阿里云OSS的使用
  • MCU启动文件小解一下
  • chromedriver安装和环境变量配置
  • 2023美赛A题之Lotka-Volterra【完整思路+代码】
  • C#,欧拉数(Eulerian Number)的算法与源代码
  • 系统架构设计师-22年-下午题目
  • JVM篇----第十七篇
  • iOS17使用safari调试wkwebview
  • 中国的茶文化:历史、传统与生活
  • js实现动漫拼图2.0版
  • C# Onnx yolov8 水表读数检测
  • java servlet勤工助学家教管系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • pytorch-metric-learning度量学习工具官方文档翻译
  • 数据库(SQL)
  • Qt知识点总结
  • ES6指北【2】—— 箭头函数
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • CSS 提示工具(Tooltip)
  • es6(二):字符串的扩展
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • ng6--错误信息小结(持续更新)
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • PHP那些事儿
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • vue总结
  • 大数据与云计算学习:数据分析(二)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 动态魔术使用DBMS_SQL
  • 对JS继承的一点思考
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 三栏布局总结
  • 温故知新之javascript面向对象
  • 我与Jetbrains的这些年
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 我们雇佣了一只大猴子...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • #{}和${}的区别?
  • #pragma once与条件编译
  • $.ajax()
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1)SpringCloud 整合Python
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (3)llvm ir转换过程
  • (C语言)字符分类函数
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (二开)Flink 修改源码拓展 SQL 语法
  • (六)DockerCompose安装与配置
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • .net core 6 集成 elasticsearch 并 使用分词器
  • /*在DataTable中更新、删除数据*/
  • [ C++ ] STL---stack与queue
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [ 第一章] JavaScript 简史