在 Python 中从 URL 下载 CSV

Manav Narula 2023年1月30日
  1. 在 Python 中使用 pandas.read_csv() 函数从 URL 下载 CSV 文件
  2. 在 Python 中使用 urllibcsv 模块从 URL 下载 CSV 文件
  3. 在 Python 中使用 requestscsv 模块从 URL 下载 CSV 文件
  4. 结论
在 Python 中从 URL 下载 CSV

我们可以使用不同的模块,如 requestsurllib 等,在 Python 中从 Web 读取数据。逗号分隔的文本文件 (CSV) 是可以使用 Pandas 包读入 DataFrame 的数据文件。

本教程演示如何从 Python 中的 URL 下载 CSV 文件。

在 Python 中使用 pandas.read_csv() 函数从 URL 下载 CSV 文件

Pandas 模块中的 read_csv() 函数可以从不同来源读取 CSV 文件并将结果存储在 Pandas DataFrame 中。

我们可以通过直接在函数中提供 URL 来使用此函数从 Python 中的 URL 下载 CSV 文件。

代码:

import pandas as pd

df = pd.read_csv("https://sample.com/file.csv")

上面的代码将从提供的 URL 下载 CSV 文件并将其存储在 DataFrame df 中。

在 Python 中使用 urllibcsv 模块从 URL 下载 CSV 文件

urllib 模块用于在 Python 中处理和获取来自不同协议的 URL。我们可以使用 urllib.urlopen() 函数来创建到 URL 的连接并读取其内容。

可以使用 csv 模块处理此响应。csv 模块适用于 Python 中的 CSV 文件。

它可以使用 csv.reader() 函数解析响应。然后我们可以一次显示解析结果或一次遍历内容一行。

代码:

import urllib
import csv

res = urllib.urlopen("https://sample.com/file.csv")
data = csv.reader(res)

在 Python 中使用 requestscsv 模块从 URL 下载 CSV 文件

requests 是 Python 中另一个可以从 URL 获取数据的模块。它是一个简单的 HTTP 库,具有更好的错误处理能力。

我们可以使用该模块中的 get() 函数从 CSV 文件的给定 URL 获取响应。我们使用 iter_lines() 函数来遍历 get() 函数获取的响应内容。

然后使用 csv.reader() 函数再次解析此内容,以获取适当格式的最终​​数据。

代码:

import requests
import csv

res = requests.get("https://sample.com/file.csv")
t = res.iter_lines()
data = csv.reader(text, delimiter=",")

结论

我们讨论了如何在 Python 中从 URL 下载 CSV 文件。pandas.read_csv() 函数是最直接的方法,因为它会自动获取文件并将其存储在 DataFrame 中。

其他方法要求我们获取响应并使用 Python 中的 csv 模块对其进行解析以获得最终结果。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python HTTP