首页 > 解决方案 > Python - 使用 utf-8-sig 编码读取远程 CSV 文件

问题描述

我需要读取我在服务器上上传的远程 CSV 文件。我尝试了以下方式,文件被读取为文本,但它没有读取所有行,它以一种奇怪的方式读取数据,比如拆分字符串。该文件具有分号分隔符,并使用utf-8-sig.

import csv
import pprint
import urllib


url = "http://myfakesite.com/mycsv.csv"
r = urllib.request.urlopen(url)
csv_file = r.read().decode(encoding="utf-8-sig")
reader = csv.DictReader(csv_file, delimiter=";")
for row in reader:
    pprint(row["Choice"])

有没有其他方法可以在没有问题的情况下读取文件?

标签: pythoncsvrequesturllib

解决方案


使用熊猫怎么样?

import pandas
csv = pandas.read_csv('http://myfakesite.com/mycsv.csv', encoding='utf-8-sig')
print(csv['Choice'].tolist())

推荐阅读