我尝试创建一个循环,该循环使用我路径中csv文件中的一列名称来从使用csv来保存其数据的网站中提取数据。我需要遍历每个名称并将其传递给网站,以获得与每个名称相关的五列的特定行。我觉得好像我已经搜索了与使用CSV列表抓取CSV文件中的数据的网站有关的每个帖子。
我已经测试了for循环中的代码,它可以独立工作,根据名称在参数中使用一个值收集特定的行和列:
i = 'City'
url = url_template.format(i) # get the url
url = pd.read_csv(url)
url_df = pd.DataFrame(url)
my_data = url_df.iloc[[13]]
# my_df = pd.DataFrame(my_data) ## greyed out for testing
print my_data
但是,当我尝试运行循环时:
import pandas as pd
url_template = "http://foo.html?t={}&spam=green&eggs=yellow"
# CSV file where retrieving column list
need_conv = (pd.read_csv('pract.csv')) # csv file
# column to use in the loop
need = need_conv['column']
# empty DataFrame
test_df = pd.DataFrame()
# loop to retrieve data and print
for i in need: # for each year
url = url_template.format(i) # get the url
url = pd.read_csv(url) # convert the data
url_df = pd.DataFrame(url) # create DataFrame from parsed data
my_data = url_df.iloc[[13]] # upload specific row of data
test_df = test_df.append(my_data) # append data to empty dataframe
print test_df.head()
我收到错误:
pandas.io.common.EmptyDataError: No columns to parse from file
非常感谢帮助和反馈!