簡體   English   中英

如何循環 JSON 中的數據?

[英]How to loop over data in JSON?

我有一個 MySQL 數據庫以這種方式存儲:Company_name、employee1、employee2、employee3。

當我輸入公司名稱時,代碼會在我的數據庫中查找公司名稱,然后遍歷employee1、employee2 和employee3 以檢查其中一個是否在我的日歷中空閑。

這是我檢查員工的代碼:

for i in range(3):
    employee = row[i+1]

如何翻譯這個循環以便它可以讀取 JSON 結構?

我的結構示例:

[
 {
   "id": 1,
   "name_company": "Acier Michel",
   "inspecteur1": "Hou, L",
   "inspecteur2": "Caana, C",
   "inspecteur3": "Luc, C",
   "type": "Water",
   "location": "Laval"
 },
 {
   "id": 2,
   "name_company": "Aciers ABC Inc.",
   "inspecteur1": "Vali, M",
   "inspecteur2": "Alemane, K",
   "inspecteur3": "laszik, M",
   "type": "NA",
   "location": "St-Joseph de Sorel"
 }
]

我希望能夠遍歷檢查員 1、檢查員 2 和檢查員 3。

首先用

import json
userList = json.loads(yourJsonString)

然后在列表上迭代

for user in userList:
    print(user)

數據是字典列表

  • 使用pandas
  • 這假設您的字典列表在一個文件中
import pandas as pd
import json
from pathlib import Path

# path to file
p = Path(r'c:\path_to_file\test.json')

# read the file
with p.open('r', encoding='utf-8') as f:
    data = json.loads(f.read())

# load into pandas
df = pd.DataFrame(data)

print(df)

 id     name_company inspecteur1 inspecteur2 inspecteur3   type            location
  1     Acier Michel      Hou, L    Caana, C      Luc, C  Water               Laval
  2  Aciers ABC Inc.     Vali, M  Alemane, K   laszik, M     NA  St-Joseph de Sorel

# search datafram
search = df[['inspecteur1', 'inspecteur2', 'inspecteur3']][df.name_company == 'Aciers ABC Inc.']

print(search)

inspecteur1 inspecteur2 inspecteur3
    Vali, M  Alemane, K   laszik, M

注意解決評論:

  • 通過search ,您可以訪問所需的inspecteur1-3
  • search.values返回一個 numpy 數組,可以迭代。
  • 問題中沒有足夠的信息來提供更全面的解決方案。
for name in search.values[0]:
     print(name)

Vali, M
Alemane, K
laszik, M
  • 此外,dataframe 可以使用其他列和/或行進行更新,並保存回文件中。
    • df.to_json('test.json', orient='records')

暫無
暫無

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

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