我有一个gist(csv格式),每天更新,包含n修订。每个修订数据彼此不同。你知道吗
我需要知道每个版本之间的差异,所以我使用gistapi检索可以保存在csv中的版本
我的要求:
点击这里下载文件。我尝试了urlib,请求pypackages,但是我不知道我在哪里后面。谢谢你知道吗
gist_ids = 'abc'
def main():
gh = github3.login(
token=os.environ.get('my_token'),
url=' ')
my_gist = gh.gist(gist_ids)
for gist_commit in my_gist.commits():
resp_str= gist_commit.get_gist().as_json()
resp_json = json.loads(resp_str)
resp_url = resp_json['files']['example.csv']['raw_url']
print resp_url
if __name__ == '__main__':
main()
O/p:我有4个修订版,所以它显示了4个URL https://github.com/gist/eec70654d178a8e1fe497d0bce94e0db/raw/5c058121cc4f289773b7013208ca5c5b0d97ba33/example.csv
https://github.com/gist/eec70654d178a8e1fe497d0bce94e0db/raw/cfb04e18bdf18bf7ab0b708951f62d2095c49f7d/example.csv
https://github.com/gist/eec70654d178a8e1fe497d0bce94e0db/raw/a20174f568129df4348d355eb0d6e378db7fa646/example.csv
https://github.com/gist/eec70654d178a8e1fe497d0bce94e0db/raw/137c57ef411067564341d389571dab2da070c828/example.csv
所以你把事情复杂化了。github3.py返回的每个对象都有您想要的信息。你知道吗
我把你的代码放在下面,稍微修改了一下。总结
我删除了
as_json()
的用法,因为没有必要将数据强制到字符串中或从字符串中强制出来。如果你想要一本字典,你可以用as_dict()
。接下来,我使用gist的提交历史,并使用它来查找每个修订的文件。
使用GistHistory对象和实际的GistFile对象,我构造文件名来保存它们,使它们看起来像
5c058121cc4f289773b7013208ca5c5b0d97ba33-example.csv
最后,我使用GistFile对象实际检索文件内容并将其保存到磁盘
我希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐