簡體   English   中英

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)) 

在每個單獨的對象之間放置逗號時我們應該小心

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM