我正在使用带有 Python 2.7 的 urllib.urlopen 来读取位于外部网络服务器上的 csv 文件:
# Try & Except statements removed for clarity
import urllib
import csv
url = ...
csv_file = urllib.urlopen(url)
for row in csv.reader(csv_file):
do_something()
所有 100 多个文件都可以正常读取,但最近更新并返回的文件除外:
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
该文件可在此处访问。根据我的文本编辑器,它的模式是 Mac (CR),而不是其他文件的 Windows (CRLF)。
我发现基于这个线程,python urlopen 将正确处理所有格式的换行符。因此,问题很可能来自其他地方。不过我不知道。该文件可以使用我的所有文本编辑器和电子表格编辑器正常打开。
有谁知道如何诊断问题?
* 编辑 *
该文件的创建者通过电子邮件通知我,我不是唯一遇到此类问题的人。因此,他决定再做一次。上面的代码现在又可以正常工作了。不幸的是,使用新文件也意味着无法再重现该问题,并且解决方案已正确测试。
在结束问题之前,我要感谢所有花费一些时间来找出解决方案并将其发布在此处的堆垛机。