首页 > 解决方案 > 访问多个csv的所有行(相同数量的列和标题)的有效方法是什么

问题描述

我得到了 Itertools、glob、pathlib、OS` 所有这些,却迷失了使用哪个。

是否有最好最有效的方法来访问每个中可能有一百万行csv,以运行价格数据的数量。

我还没有得到一个合适的工作代码来吐出我想要的东西,花了几天的时间滚动、复制/粘贴和审查代码,但仍然无法解决。

目前,每个 csv 都是当天的子文件夹,与 csv 所在的文件夹同名。我试图获取所有价格数据,这些数据应该是每秒一次,并将它们过滤到 1 分钟的存储桶中,然后从那里开始。

任何帮助表示赞赏。干杯。

示例 csv
10 标头

代码顺序不正确,这只是我认为我想要做的两个部分

timestamp,symbol,side,size,price,tickDirection,trdMatchID,grossValue,homeNotional,foreignNotional
2020-05-22D00:00:52.012073000,ADAM20,Sell,20000,5.76e-06,ZeroPlusTick,face0e84-701d-9870-d90b-d6f8e61149af,11520000,20000,0.1152
2020-05-22D00:02:06.020714000,ADAM20,Sell,1873,5.76e-06,ZeroPlusTick,8179be8a-4256-c2dc-ff21-d5f96171e4c4,1078848,1873,0.01078848
2020-05-22D00:02:21.342170000,ADAM20,Sell,1816,5.76e-06,ZeroPlusTick,43c1cb71-6dfa-0c36-2445-1d2b08b8621d,1046016,1816,0.01046016
2020-05-22D00:10:53.716072000,ADAM20,Sell,190,5.75e-06,MinusTick,0dc7fb59-1dcb-8aa0-bb9d-5cab39a44b63,109250,190,0.0010925
import pandas as pd
from glob import glob

stock_files = sorted(glob('gangshit/trade_*.csv'))
stock_files

print(glob('gangshit\trade_*.csv')

import csv
import itertools as it


def to_minute(row):
    return row[0][:16]


with open('data.csv') as src:
    reader = csv.reader(src)
    next(reader)
    for key, group in it.groupby(reader, key=to_minute):
        print(f'* {key}')
        for row in group:
            print(row)
        print()




标签: pythonpandasitertools

解决方案


推荐阅读