【发布时间】:2016-01-01 12:31:59
【问题描述】:
我当前的代码能够从 Google Finance 获取历史数据,但缺少第一行来标记每一列。 我想要如下的输出
库存、日期、时间、开盘价、最高价、最低价、收盘价、成交量 CCK,2015-12-30,00:00:00,1.05,1.05,0.99,1.00,157800 CCK,2015-12-31,00:00:00,0.98,1.03,0.98,1.02,55300
stocklist=['CCK','MSFT','AA','AAPL']
stocklen=len(stocklist)
for x in range(1,stocklen,1):
q = GoogleQuote(stocklist[x],'2015-12-21')
header = ['Stock','Date','Time','Open','High','Low','Close']
print header
print q
q.write_csv(stocklist[x]+".csv")
with open(stocklist[x]+".csv",'a') as f:
w = csv.writer(f)
w.writerow(['Stock','Date','Time','Open','High','Low','Close'])
但是,输出在最后一行
CCK,2015-12-30,00:00:00,1.05,1.05,0.99,1.00,157800 CCK,2015-12-31,00:00:00,0.98,1.03,0.98,1.02,55300 股票,日期,时间,开盘,高,低,收盘,成交量
【问题讨论】:
-
您正在追加,所以它在最后是有意义的,如果您想预先添加,您将不得不覆盖存储所有内容的文件并预先添加或写入临时文件
-
我需要使用第一行的标签进行数据分析。由于我有很多 .csv 文件,如何在第一行添加标签?
-
@bkcollection Padraic 可能想说,因为你是附加到一个文件(你用
a打开它),但想把标题放在顶部,你可能想使用临时文件转储附件。但是如果你只需要写入 csv 文件,你可以这样做: with open(stocklist[x]+".csv",'w') as f: w = csv.DictWriter(f, fieldnames=header) w.writerow (...) -
@bkcollection,类似于stackoverflow.com/questions/31888222/…,在
wr = csv.writer(...之后,您将编写标题,然后对其余数据执行任何操作
标签: python csv finance google-finance