您要下載的文件採用UTF-16格式,而CSV模塊不是爲此設計的。您需要將其從UTF-16解碼爲其他格式。例如:
import csv
import codecs
import urllib2
url = 'http://wildfire.alberta.ca/reports/activedd.csv'
response = urllib2.urlopen(url)
cr = csv.reader([x.strip() for x in codecs.iterdecode(response, 'UTF-16')])
data = [x for x in cr]
# Manipulate the data here
# Now to save the CSV:
with open('outputfile.csv', 'wb') as output:
writer = csv.writer(output)
writer.writerows(data)
如果你只需要下載的文件,而不是操縱它,有更好的方法(見minitoto的答案)。
這是一個例子,和換行符必須手動剝離使其正常工作,所以我敢肯定,也許有更好的方法,但是這是最主要的問題
此代碼不能運行。 – Rishav
@Rishav是的,我的壞,在一次運行中複製我的測試代碼,並寫入解碼,而不是iterdecode。我現在已經修好了 – meiamsome
謝謝!還有一件事,如果我想將文件保存在我的電腦上,我該怎麼辦? – atari