0

首先,我想强调一下,我是 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...

4

1 回答 1

0

以附加模式打开sharesoutput 文件。IE。,

sharesoutput = open('results.csv', 'a')
于 2013-04-30T02:28:24.163 回答