HOWTO · Python
在 Python 中从 URL 下载 CSV
本教程讨论如何在 Python 中从 URL 下载 CSV 文件。
本页内容
我们可以使用不同的模块,如 requests、urllib 等,在 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 中使用 urllib 和 csv 模块从 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 中使用 requests 和 csv 模块从 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 模块对其进行解析以获得最终结果。