程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么会看到“ TypeError:字符串索引必须是整数”?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_450_0@如何解决为什么会看到“ TypeError:字符串索引必须是整数”?? 开发过程中遇到为什么会看到“ TypeError:字符串索引必须是整数”?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么会看到“ TypeError:字符串索引必须是整数”?的解决方法建议,希望对你解决为什么会看到“ TypeError:字符串索引必须是整数”?有所启发或帮助;

item您的代码中很可能是字符串;字符串索引是方括号中的那些,例如gravatar_ID。因此,我首先要检查您的data变量以查看您在那里收到了什么;我猜这data是一个字符串列表(或至少一个包含至少一个字符串的列表),而它应该是字典列表。

@H_450_0@解决方法

我正在学习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,请注明来意。