将csv转换为json

2024-06-02 08:01:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将多行CSV文件转换为存储在变量中的单行。稍后将作为jsonforrestapi的一部分使用。在

我的csv文件看起来像:

Key     Value
Key1   Value1
Key2   Value2
Key3   Value3

我需要一个输出字符串,比如:

^{pr2}$

到目前为止,我已经试过了:

如果转到docs python中的csv,示例如下:

import csv
with open('file.csv', 'r') as csvfile:
csvReader = csv.reader(csvfile)
for row,column in csvReader:
    Json= '"'+row+'":'+column+'",'
Print json

但这并没有给我想要的输出。输出最后有逗号。像

Json= "key1":"Value1","key2":"Value2","key3":"Value3",

Tags: 文件csvcsvfilekeyjsonvaluecolumnrow
3条回答

使用熊猫:

import pandas as pd

df = pd.read_csv('file.csv',sep=',') # sep can be \s+ if multiple spaces
jsonstr = df.set_index('Key')['Value'].to_dict()

print(jsonstr)

印刷品

^{pr2}$

使用json

试试下面的方法

import json

csv_dict = dict()

for row,column in csvReader:
    csv_dict[row] = column

dump_variable = json.dumps(csv_dict)
print(dump_variable)

只需少量改变:

import csv
with open('file.csv', 'r') as csvfile:
    csvReader = csv.reader(csvfile)
    for row,column in csvReader:
        json= '"'+row+'":'+column+'",'
print json[:-1]

将删除最后一个逗号并输出:

^{pr2}$

相关问题 更多 >