繁体   English   中英

在Python中直接从web读取txt文件

[英]Read txt file directly from web in Python

有没有一种直接的方法可以在 Python 中直接从 web 读取 txt 文件? 这在 R 中很简单,如果你想读取一个表,你只需指定 URL 位置,例如:

dat = read.csv(<URL/file.csv>)

您可以使用请求模块通过 Python 中的 URL 读取 CSV 文件,然后使用 csv 模块和 csv.reader() 或 csv.DictReader() 来解析 CSV 文件的每一行。

例子:

import csv
import io
import requests
    
url = 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.csv'
r = requests.get(url)
buff = io.StringIO(r.text)
dr = csv.DictReader(buff)
for row in dr:
    print(row['time'], row['mag'], row['place'])

这将打印出 CSV 文件的时间、磁力和地点字段。

2020-10-05T16:34:52.160Z 1.41 11km ENE of Ridgecrest, CA
2020-10-05T16:29:26.070Z 2.39 16km WSW of Toms Place, CA
2020-10-05T16:24:08.860Z 2.42 1 km SSE of Pāhala, Hawaii
...

您还可以使用Pandas来解析 CSV 数据。

这是使用请求库加载 csv 文件的示例:

import pandas as pd 
import requests
import io

# load file
data = requests.get('<<URL/file.csv>>').content

# decode data
data = data.decode('utf-8')

# load data into dataframe, optionally separator can be specified using sep="," or sep=";"
df = pd.read_csv(io.StringIO(data))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM