Python 将数组中的每个字符串附加到 txt 文件

Python append each string from array to a txt file

我有一个 json 文件包含这个

[
  {
    "results": [
      {
        "names": [
          "Ben",
          "Sam"
        ]
      },
      {
        "names": [
          "John",
          "Max"
        ]
      }
    ]
  }
]

我想从每个结果的名称数组中取出每个字符串,并将其附加到名为 names.txt 的 txt 文件中,并用逗号分隔每个字符串。像这样

Ben, Sam, John, Max

我没怎么用过 Python,所以我有点卡在写入另一个文件和读取 json 文件时。我目前有

with open('results.json') as json_file:
   data = json.load(json_file)
   for item in data['results']:
      names = item['names']

从那里我几乎被困住了。 感谢任何人可以提供的任何帮助或建议,谢谢!

您的 JSON 有点问题,"Max" 后的逗号使其无效。

如果您修复了可以使用此代码读取文件、获取名称列表并将它们写入另一个文件的问题,results_names.txt

import json

with open('results.json') as json_file:
   data = json.load(json_file)

names = []

for item in data[0]['results']:
    names.extend(item['names'])

with open('results_names.txt', 'w') as txt_file:
    txt_file.write(', '.join(names))

您可以使用结合打开和关闭相关文件的替代方法

import json

with open('results.json','r') as f_in, open('output.txt', 'w') as f_out:
    data = json.load(f_in)
    for i in list(range(0,len(data)+1)):
        s=data[0]['results'][i]['names']
        if i>0:
            f_out.write(',')
        f_out.write(','.join(s)) 

在每个单独的对象之间放置逗号时应该注意的地方