Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过在由47个URL组成的熊猫数据框上循环下载CSV数据_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 通过在由47个URL组成的熊猫数据框上循环下载CSV数据

Python 通过在由47个URL组成的熊猫数据框上循环下载CSV数据,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我正试图为我的数据工程项目开发一个Python脚本,我想在一个dataframe中循环存储47个URL,它下载一个CSV文件并存储在我的本地机器中。以下是前5个URL的示例: 我有一个单独的文件,但不是打开一个CSV文件并在其中写入数据,我想直接下载所有文件并保存在本地计算机中。您想迭代,然后将文件下载到一个文件夹中。通过在数据帧中使用.items()方法并将其传递到循环中,迭代很容易。请参阅文档 然后,您要下载每个项目。Urllib有一个.urlretrieve(url,文件名)函数,用于将

我正试图为我的数据工程项目开发一个Python脚本,我想在一个dataframe中循环存储47个URL,它下载一个CSV文件并存储在我的本地机器中。以下是前5个URL的示例:


我有一个单独的文件,但不是打开一个CSV文件并在其中写入数据,我想直接下载所有文件并保存在本地计算机中。

您想迭代,然后将文件下载到一个文件夹中。通过在数据帧中使用
.items()
方法并将其传递到循环中,迭代很容易。请参阅文档

然后,您要下载每个项目。Urllib有一个
.urlretrieve(url,文件名)
函数,用于将托管文件下载到本地文件,这在Urllib文档中有详细说明

您的代码可能如下所示:

for index, url in url_df.items():
    urllib.urlretrieve(url, "cdcData" + index + ".csv")
或者,如果要保留原始名称:

for index, url in url_df.items():
    name = url.split("/")[-1]
    urllib.urlretrieve(url, name)

下载数据有多种方式。您正处于不适合stackoverflow的研究阶段。一旦你有了一个实现,你就可以在你的代码中遇到特定的问题了。好吧!没问题,我将在使用有效参数rows.csv?accessType=DOWNLOAD时对此进行研究:因此对于每个URL,结尾都是这样的。您能告诉我它是否可以下载到我电脑上的特定路径吗?这表示每个文件都命名为rows.csv,因此您希望使用第一个选项。我相信带有相对文件路径的urlretrieve只会将文件放在与python脚本(或笔记本)相同的路径中。您可以改为在Windows上写入
“%HOMEPATH%\Documents\cdcdcdata\cdcdcdata”+index+“.csv”
“C:\User\your username here\Documents…”
,或在Ubuntu/Mac OS/其他基于Unix的操作系统上写入
“~/Documents/cdcdcdcddata/cdcdcdcdcdata”+index+“.csv”
,谢谢!它就像一个符咒!我感谢你的帮助
for index, url in url_df.items():
    name = url.split("/")[-1]
    urllib.urlretrieve(url, name)