0

我首先要说我对 Python 和一般编程非常陌生,但我的学习风格非常实用。

我想用 Python 来:

  1. 将电子表格的整个列收集到列表中
  2. 调用 Klout 的 API 以 (a) 获取 Klout 用户 ID 和 (b) 获取 Klout 分数
  3. 将这两个变量附加到同一电子表格的列中

我有一个 API 密钥、电子表格数据、Python 和 klout Python 脚本

谢谢你的帮助!

更新

感谢 Lonely 帮助我走到这一步。现在我只需要将我的分数结果写入电子表格。

from xlrd import open_workbook
from klout import *
k=Klout('my_API_key')
book=open_workbook('path_to_file')
sheet0=book.sheet_by_index(0)
List1=sheet0.col_values(0)
for screen_name in List1:
    kloutId = k.identity.klout(screenName=screen_name).get('id')
    score = k.user.score(kloutId=kloutId).get('score')
    print screen_name, score

更新 2

已成功将 Twitter 网名重新放入新的电子表格。似乎无法正确显示分数。它也停止在 30(这恰好是 Klout 的每秒请求限制)。这就是我现在所拥有的。

from xlrd import open_workbook
import xlwt
from klout import *
k=Klout('My_API_Key')
book=open_workbook('Path_to_My_File')
sheet0=book.sheet_by_index(0)
List1=sheet0.col_values(0)
for screen_name in List1:
    kloutId = k.identity.klout(screenName=screen_name).get('id')
    score = k.user.score(kloutId=kloutId).get('score')
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet 1')
i = -1
for n in List1:
    i = i+1
    sheet.write(i,0,n)
b = 0
score1 = int(score)
for x in xrange(score1):
    b = b+1
    sheet.write(b,1,x)

wbk.save("KScores.xls")

最终工作版本

在个人联系人的大量帮助下,我也相信了这个脚本的大部分写作,我现在有了一个完整的 .py 脚本。

from xlrd import open_workbook
import xlwt
from time import sleep
from klout import *

klout_con = Klout('API_KEY_HERE', secure=True)
book = open_workbook('PATH_TO_YOUR_FILE_HERE')
sheet0 = book.sheet_by_index(0)
List1 = sheet0.col_values(0)

wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet 1')

row = 0
for screen_name in List1:
    klout_id = klout_con.identity.klout(screenName=screen_name).get('id')
    score = klout_con.user.score(kloutId=klout_id).get('score')
    sheet.write(row, 0, screen_name)
    sheet.write(row, 1, score)
    row += 1
    print screen_name
    sleep(1)
    wbk.save('KScores.xls') 

感谢社区和亚当,他们都帮助我把这个东西放在一起。是一个出色的入门项目。

4

2 回答 2

1

要阅读 excel... 使用 XLRD

以列表格式获取所有 id。

for i in list with Klout_APi通过像...这样的迭代来阅读它们中的每一个

score = k.user.score(kloutId=kloutId).get('score')

然而,样本数据会很棒......

于 2013-07-09T04:47:37.387 回答
0

使用xlrd您可以从 excel 读取数据并将xlwt数据写入 excel。阅读他们的文档。而对于 csv,csv标准库中有一个模块。

于 2013-07-09T04:45:38.027 回答