在您的 Python 代码中解析 JSON 和将其转换为 CSV 时,您会遇到“TypeError:字符串索引必须是整数”错误。为了解决这个问题,让我们深入研究根本问题并提供解决方案。
“TypeError:字符串索引必须是整数”错误表明您正在尝试使用索引访问字符串类型变量。在您的情况下,您正在尝试使用索引访问 JSON 对象的值。
例如,在您的代码片段中:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])
您正在尝试访问各种值JSON 对象中的字段,使用索引名称,例如“gravatar_id”、“position”和“number”。但是,这些字段不是索引,而是类似字典的对象的键。
要解决此错误并正确访问 JSON 对象的字段值,您需要使用字典访问语法。以下是使用 JSON.loads() 函数的更正后的代码:
import json import csv with open('issues.json', 'r') as f: data = json.load(f) with open('issues.csv', 'wb+') as f: csv_file = csv.writer(f) csv_file.writerow(["gravatar_id", "position", "number"]) for item in data['issues']: csv_file.writerow([item.get('gravatar_id'), item.get('position'), item.get('number')])
此代码使用 get() 方法从类似字典的 JSON 对象中检索指定字段的值。
通过用正确的字典访问语法替换不正确的字符串索引,您可以成功解析 JSON 文件并将所需的值提取到 CSV 文件中,而不会遇到“字符串索引必须是整数”的情况错误。
以上是为什么在 Python 中将 JSON 转换为 CSV 时出现'TypeError: String Indices Must Be Integers”?的详细内容。更多信息请关注PHP中文网其他相关文章!