我正在尝试使用内置的 python csv 阅读器解析 csv 文件,如下所示:
sms_prices_list_url = "http://www.twilio.com/resources/rates/international-sms-rates.csv"
sms_prices_list = requests.get(sms_prices_list_url)
reader = csv.reader(sms_prices_list.text)
for row in reader:
print row
然而,当我这样做时,几乎所有内容都是按字符打印的,而不是按字典项或列项打印的,例如:
['C']
['o']
['u']
['n']
['t']
['r']
['y']
['', '']
[' ']
['N']
['a']
['m']
['e']
['', '']
[' ']
['R']
['a']
['t']
['e']
[]
['', '']
['UNITED STATES Inbound SMS - Other']
['', '']
['0']
如何将这些条目分成字典列表?
请您参考如下方法:
csv.reader 期望它的参数一次产生一行文本。您正在迭代一个字符串,它一次产生一个字符。将其更改为:
reader = csv.reader(sms_prices_list.iter_lines())
请注意,这不会为您提供一个字典列表,而是一个可迭代的列表,因为这就是 csv.reader 的目的。此外,如果输入采用 UTF-8 以外的 Unicode 编码,它可能会中断;见the documentation有关这方面的一些提示。
