首先,我想强调一下,我是 python 和 api 的新手(一般来说编程很好)。
我正在尝试想出方法来自动处理 csv 格式的 facebook 用户 ID 的输入
IE)
饮食百事可乐
百事可乐
可口可乐
健怡可乐
然后让python脚本也以csv格式吐出页面信息,每个值由列分隔
即)姓名,喜欢的数量,“谈论这个”的人数等......饮食百事可乐,709,788、4,761等......
import urllib2
import urllib
import cookielib
import xml.etree.ElementTree as ET
import json
import datetime
import urlparse
import operator
import sys
import csv
import io
input = open('input.csv', 'rU')
output = open ('cleaned_input.csv', 'wb')
writer = csv.writer(output)
for row in csv.reader(input):
if any(row):
writer.writerow(row)
input.close()
output.close()
sharesoutput = open('results.csv', 'w')
with open('results.csv', 'w') as results:
with open('cleaned_input.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)
myjson=json.loads(myfile.read())
names = myjson["name"]
published = myjson["is_published"]
likes = myjson["likes"]
talkingabout = myjson["talking_about_count"]
print names
print likes
print talkingabout
print '\n'
sharesoutput.write(names+"\t"+likes+"\t"+talkingabout+"\n")
except:
print "Error"
sharesoutput.close()
我尝试了类似上面的代码,它在 python shell 上打印值,但它没有正确保存在 csv 中(它是空白的)
如果有一种方法可以将其保存在 csv 中并按列分隔每种值.. 那会很棒。有什么帮助吗?
import urllib2
import json
import operator
import sys
import csv
sharesoutput = open('results.csv', 'w')
with open('input.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)
myjson=json.loads(myfile.read())
names = myjson["name"]
published = myjson["is_published"]
likes = myjson["likes"]
talkingabout = myjson["talking_about_count"]
print names
print likes
print talkingabout
print '\n'
sharesoutput.write(names+"\t"+likes+"\t"+talkingabout+"\n")
except:
print "Error"
sharesoutput.close()
根据费利佩的建议修复了一些东西仍然是一个空白的 csv...