首页 > 后端开发 > Python教程 > 为什么在 Python 中将 JSON 转换为 CSV 时出现'TypeError: String Indices Must Be Integers”?

为什么在 Python 中将 JSON 转换为 CSV 时出现'TypeError: String Indices Must Be Integers”?

Barbara Streisand
发布: 2024-12-05 01:50:10
原创
183 人浏览过

Why Am I Getting

疑难解答:JSON 到 CSV 转换中的“TypeError: String Indices Must Be Integers”

在您的 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板