如何将CSV“单词”作为字符串传输到Python中

时间:2015-03-02 21:11:24

标签: python string csv pandas

所以我是Python的初学者,但我想要做的是下载纽约证券交易所的每个CSV文件。在excel文件中,我有每个符号。 Yahoo API允许您通过将符号添加到基本URL来下载CSV文件。 我的第一直觉是使用熊猫,但是熊猫并没有存储字符串。

所以我有什么

import urllib

strs = ["" for x in range(3297)]

#strs makes the blank string array for each symbol

#somehow I need to be able to iterate each symbol into the blank array spots 

while y < 3297:
    strs[y] = "symbol of each company from csv" 
    y = y+1

#loop for downloading each file from the link with strs[y].

while i < 3297:
    N = urllib.URLopener()
    N.retrieve('http://ichart.yahoo.com/table.csv?s='strs[y],'File')
    i = i+1

也许解决方案比我正在做的更简单。

2 个答案:

答案 0 :(得分:0)

从我在这个问题中看到的内容,您无法看到如何将您的股票代码列表与您在Pandas中读取数据的方式联系起来。例如'http://ichart.yahoo.com/table.csv?s='strs[y]是无效的语法。

有效的语法是

pd.read_csv('http://ichart.yahoo.com/table.csv?s={}'.format(strs[y]))

如果您可以将csv文件中的一些示例行添加到问题中,将会很有帮助。猜测你的结构,你会做类似的事情:

import pandas as pd

symbol_df = pd.read_csv('path_to_csv_file')

for stock_symbol in symbol_df.symbol_column_name:
    df = pd.read_csv('http://ichart.yahoo.com/table.csv?s={}'.format(stock_symbol))
    # process your dataframe here

答案 1 :(得分:0)

假设您将带有符号和输出的Excel文件作为CSV,您可以使用Python的内置CSV阅读器来解析它:

import csv
base_url = 'http://ichart.yahoo.com/table.csv?s={}'
reader = csv.reader(open('symbols.csv'))
for row in reader:
    symbol = row[0]
    data_csv = urllib.urlopen(base_url.format(symbol)).read()
    # save out to file, or parse with CSV library...