【发布时间】:2013-04-28 21:35:18
【问题描述】:
所以我有一串 id 的数字保存为 CSV
即)http://i.imgur.com/atCJJCx.png
我想要的是将此csv文件上的每一行转换为python中的字符串/列表
mylist=[411211, 1234404, 5711427, 13600442, 13600641, 13601660, 13619537, 15302899 ...]
那么这个字符串上的每个数字都会经过一个API请求,然后吐出Names
然后我希望能够再次将这些名称存储在 csv 中。
我知道通过 API 将数字转换为名称的代码有效,因为我尝试在 python 中手动输入数字作为列表,并且能够在 python 中打印出名称。但是我在使用 csv 时遇到了问题...
好的,所以转换为列表以某种方式工作...... 我仍然不完全理解如何......(忘了提到我是整个编程的新手......)
import urllib2
import json
import csv
with open('jfl42facebooknumberid.csv', 'rU') as csvfile:
reader = csv.reader(csvfile, quoting=csv.QUOTE_NONE)
for row in reader:
myid='. '.join(row)
try:
myfile=urllib2.urlopen("http://graph.facebook.com/"+ myid +"?fields=name")
myjson=json.loads(myfile.read())
print myjson["name"]
except:
print myid
但这会打印出我想要的结果!我只需要弄清楚如何存储到 csv...
【问题讨论】:
-
同样在 Python 2.x 中,docs.python.org/2/library/csv.html
-
我知道我知道对不起,我看了很长时间,但我一直得到奇怪的结果......对不起,对 python 来说真的很新,但第一部分有效!我只需要将打印结果存储为 csv 文件...
-
其实我知道为什么..这是因为当我不得不使用 rU 时我一直在使用 rb(我仍然不明白两者之间的区别是什么......)
-
见docs.python.org/2/library/functions.html#open。
rb用于非文本文件,因此不适用于 CSV。rU正确处理换行符,即使 CSV 文件是在不同的操作系统上编写的,换行符约定与您运行 Python 的操作系统不同。