备份一下生成快照的数据

该文章描述了一个Python程序,使用pandas库读取Excel文件中的股票收盘后数据,按日期生成快照,并对数据进行整理,将相关列重新排序后存储到新的Excel文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值