从单个CSV(Python)中的列表下载多个CSV文件

从单个CSV(Python)中的列表下载多个CSV文件,python,csv,dataframe,Python,Csv,Dataframe,我有一个两栏的CSV,第一栏有下载链接,第二栏有公司符号。例如: ,必和必拓 ,TSA 我试图循环浏览列表,以便Python通过下载链接打开每个CSV,并将其单独保存为公司名称。因此,应按如下方式下载和保存每个文件: 必和必拓 TSA.csv 下面是我正在使用的代码。它当前将整个CSV导出为单行选项卡格式,然后循环返回,并在无限循环中一次又一次地执行此操作 import pandas as pd data = pd.read_csv('download_links.csv', names=['

我有一个两栏的CSV,第一栏有下载链接,第二栏有公司符号。例如:

,必和必拓

,TSA

我试图循环浏览列表,以便Python通过下载链接打开每个CSV,并将其单独保存为公司名称。因此,应按如下方式下载和保存每个文件:

必和必拓

TSA.csv

下面是我正在使用的代码。它当前将整个CSV导出为单行选项卡格式,然后循环返回,并在无限循环中一次又一次地执行此操作

import pandas as pd

data = pd.read_csv('download_links.csv', names=['download', 'symbol'])
file = pd.DataFrame()
cache = []

for d in data.download:
    df = pd.read_csv(d,index_col=None, header=0)
    cache.append(df)
    file = pd.DataFrame(cache)
    for s in data.symbol:
        file.to_csv(s+'.csv')

print("done")
在我将列表“缓存”转换为数据帧“文件”以导出它之前,数据的格式是完美的。只有当问题开始时,它才会转换为数据帧


我希望在这方面能得到一些帮助,因为我已经被困在上面几个小时了。

并行迭代这两个字段:

for download, symbol in data.itertuples(index=False):
    df = pd.read_csv(d,index_col=None, header=0)  
    df.to_csv('{}.csv'.format(symbol))

艾伦的解决方案非常有效。我只需要在第2行添加name=['download',symbol']。多亏奥斯汀·黑斯廷斯也有机会。
import pandas as pd
data = pd.read_csv('download_links.csv')
links = data.download
file_names = data.symbol
for link, file_name in zip(links,file_names):
    file = pd.read_csv(link).to_csv(file_name+'.csv', index=False)