簡體   English   中英

如何從Python中的csv文件生成JSON?

[英]How to generate JSON from the csv file in Python?

我正在嘗試從csv文件構造一個Json結構。 下面的代碼給出了錯誤說明: - AttributeError: 'tuple' object has no attribute 'to_json' 我是python世界的新手,想請求你的幫助。

CSV數據如下所示:

在此輸入圖像描述

我希望輸出如下所示

[
    {"Variable": "Latitude",
    "Min": "78",
    "Q1": "89"} ,

    {"Variable": "Longitude",
    "Min": "78",
    "Q1": "89"},
    {"Variable": "Zip",
    "Min": "78",
    "Q1": "89"}
]

import pandas    
res_data = pd.read_csv("C\\Documents\\abc.csv", 'r')
abc=res_data.to_json(orient='records')
print(abc)
import json
import pandas as pd    
df = pd.read_csv("path_of_csv")
js = df.to_json(orient="records")
json.loads(js)

輸出:

[{'variable': 'Latitude', 'min': 26.84505, 'Q1': 31.19725},
 {'variable': 'Longtitude', 'min': -122.315, 'Q1': -116.558},
 {'variable': 'Zip', 'min': 20910.0, 'Q1': 32788.5}]

就像是

import csv
import json

csvfile = open('file.csv', 'r')
jsonfile = open('file.json', 'w')

fieldnames = ("variable", "min", "Q1")
reader = csv.DictReader( csvfile, fieldnames)
for row in reader:
    json.dump(row, jsonfile)
    jsonfile.write('\n')

您可以嘗試簡單地使用csv模塊。

import csv
import json

output_dict = []
with open('abc.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        output_dict.append(row)

print json.dumps(output_dict)

output_dict將包含包含所有行的dict列表。 json.dumps會將python dict轉換為json

和輸出將是:

[{'variable': 'Latitude', 'min': 26.84505, 'Q1': 31.19725},
 {'variable': 'Longtitude', 'min': -122.315, 'Q1': -116.558},
 {'variable': 'Zip', 'min': 20910.0, 'Q1': 32788.5}]

更多詳情abou csv.DictReader: 在此處輸入鏈接描述

暫無
暫無

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

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