繁体   English   中英

Python:将API调用附加到电子表格

[英]Python: Appending API Calls to Spreadsheet

首先,我要说我对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') 

感谢社区和亚当,他们都帮助我将这件事整合在一起。 是一个出色的入门项目。

阅读excel ...使用XLRD

以列表格式获取所有ID。

通过使用像for i in list with Klout_APifor i in list with Klout_APi迭代for i in list with Klout_APi读取其中的每一个, for i in list with Klout_APi像...

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

但是样本数据会很棒...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM