与其尝试解析 url 中的每一行并将其放入 csv 文件的特定行中,不如将其全部推送到一个文本文件中以清理格式,然后从中读取,它可能看起来像更多的工作,但这通常是我从 URL 中获取逗号分隔信息的方法。
import requests
URL = "http://www.cftc.gov/dea/newcot/FinFutWk.txt"
r = requests.get(URL,stream=True)
with open('file.txt','w') as W:
W.write(r.text)
with open('file.txt', 'r') as f:
lines = f.readlines()
for line in lines:
print(line.split(','))
您可以获取该 forloop 中的内容,并将其交换以将列表实际保存到列表数组中,以便您可以使用而不是打印它们。
content = []
for line in lines:
content.append(line.split(','))
还请注意,在拆分时,您仍然会注意到其后有大量空白的内容,您可以遍历整个列表,针对数组中的每个列表,并删除所有空白,但这会破坏列表中的第一个元素,或者只是将具有空格的数值转换为实际整数,因为它们是作为字符串读入的。那将是您的偏好。如果您有任何问题,请随时在下面添加评论。
编辑 1:
附带说明,如果您不想保留与内容一起保存的文件,请导入 os 库,然后在将行读入行数组后,删除该文件。
import os
os.remove('file.txt')