大佬教程收集整理的这篇文章主要介绍了为什么会看到“ TypeError:字符串索引必须是整数”?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
item
您的代码中很可能是字符串;字符串索引是方括号中的那些,例如gravatar_ID
。因此,我首先要检查您的data
变量以查看您在那里收到了什么;我猜这data
是一个字符串列表(或至少一个包含至少一个字符串的列表),而它应该是字典列表。
我正在学习python并试图将github问题转换为可读形式。使用有关如何将JSON转换为CSV的建议?我想出了这个:
import json
import csv
f=open('issues.json')
data = json.load(f)
f.close()
f=open("issues.csv","wb+")
csv_file=csv.writer(f)
csv_file.writerow(["gravatar_id","position","number","votes","created_at","comments","body","title","updated_at","html_url","user","labels","state"])
for item in data:
csv_file.writerow([item["gravatar_id"],item["position"],item["number"],item["votes"],item["created_at"],item["comments"],item["body"],item["title"],item["updated_at"],item["html_url"],item["user"],item["labels"],item["state"]])
其中“ issues.json”是包含我的github问题的json文件。当我尝试运行它时,我得到
File "foo.py",line 14,in <module>
csv_file.writerow([item["gravatar_id"],item["state"]])
TypeError: String inDices must be Integers
我在这里想念什么?哪些是“字符串索引”?我确定一旦完成这项工作,我还会遇到更多问题,但是就目前而言,我只是希望它可以工作!
当我将for
陈述调整为
for item in data:
print item
我得到的是&Hellip;“问题”-所以我在做一些更基本的错误。这是我的json:
{"issues":[{"gravatar_id":"44230311a3dcd684b6c5f81bf2ec9f60","position":2.0,"number":263,"votes":0,"created_at":"2010/09/17 16:06:50 -0700","comments":11,"body":"Add missing paging (Older>>) links...
当我打印时data
,看起来好像真的很奇怪:
{u'issues': [{u'body': u'Add missing paging (Older>>) lin...
以上是大佬教程为你收集整理的为什么会看到“ TypeError:字符串索引必须是整数”?全部内容,希望文章能够帮你解决为什么会看到“ TypeError:字符串索引必须是整数”?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。