python pandas如何将日期型股票csv转换为股票型csv文件

2024-10-02 02:41:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有日期明智的股票csv文件如下。在

EQ070717.CSV
EQ070716.CSV
EQ070715.CSV
[...]

他们有以下格式的库存数据:

^{pr2}$

我如何将它们转换为股票特定的csv文件,可以作为pandas datafframe加载。我可以在.net中实现,但只想知道python/pandas中是否有任何简单的方法。在


编辑:添加预期输出

根据股票名称创建单个股票文件:

ABB.csv
AEGI.csv
HDFC.csv

对于每个股票,从所有文件中提取股票数据并添加到该股票csv: 例如stock ABB,从每个日期的csv读取股票数据,并将该信息添加到csvABB.csv公司。日期值也可以从文件名或文件修改日期属性中选取。在

DATE, OPEN,HIGH,LOW,CLOSE
070717, 1457.70,1469.95,1443.80,1452.90
070716, 1456.70,1461.95,1441.80,1450.90
070715, 1455.70,1456.95,1441.80,1449.90

Tags: 文件csv数据pandasnet格式库存股票
3条回答

我认为您需要^{}来选择所有文件,在list comprehension中创建DataFramesdfs的列表,然后使用{a2}从所有CSV中创建一个大的DataFrame

import glob

files = glob.glob('files/*.CSV')
dfs = [pd.read_csv(fp) for fp in files]
df = pd.concat(dfs, ignore_index=True)

如果需要,输出DataFrame中的文件名:

^{pr2}$

我的方法是用一个表建立一个sqlite数据库。只有三列,marketŠdate,symbol,和csv_string(如果您希望保留相对位置,可以用col表示文件中的line#)。读取所有文件并逐行将数据加载到表中。在“符号”列的表上创建索引。然后为read symbol, csv_string from stock_table order by symbol, market_date创建一个光标。使用itertools.groupby通知您何时循环了所有符号,以便关闭最后一个文件并打开下一个文件。在

当然,如果你没有足够的数据可以全部放入内存,你只需在一个列表中插入元组,对列表进行排序,然后使用groupby循环生成文件。在

添加到@jezrael解决方案中。因为用户想要每个股票特定的csv文件。在

for stock_name in df.SC_NAME.unique():
    df[df['SC_NAME']==stock_name].to_csv(path_to_dir+stock_name+'.csv')

相关问题 更多 >

    热门问题