问题描述
[
{
"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))
在每个单独的对象之间放置逗号时应该小心的地方