您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Python将CSV转换为JSON(以特定格式)

使用Python将CSV转换为JSON(以特定格式)

由于您已经在使用熊猫,因此我尝试从数据框方法获取尽可能多的里程。我还最终在离您的实现很远的地方徘徊。不过,我认为这里的关键是不要对列表和/或字典的理解变得过于聪明。您很容易混淆自己和阅读代码的每个人。

import pandas as pd
from itertools import groupby 
from collections import OrderedDict
import json

df = pd.read_csv('SampleCsvFile.csv', dtype={
            "zipcode" : str,
            "date" : str,
            "state" : str,
            "val1" : str,
            "val2" : str,
            "val3" : str,
            "val4" : str,
            "val5" : str
        })

results = []

for (zipcode, state), bag in df.groupby(["zipcode", "state"]):
    contents_df = bag.drop(["zipcode", "state"], axis=1)
    subset = [OrderedDict(row) for i,row in contents_df.iterrows()]
    results.append(OrderedDict([("zipcode", zipcode),
                                ("state", state),
                                ("subset", subset)]))

print json.dumps(results[0], indent=4)
#with open('ExpectedJsonFile.json', 'w') as outfile:
#    outfile.write(json.dumps(results[0], indent=4))

将所有json数据类型编写为字符串并保留其原始格式的最简单方法是强制read_csv将它们解析为字符串。但是,如果在写json之前需要对值进行任何数字操作,则必须允许read_csv对其进行数值解析,并将其强制转换为正确的字符串格式,然后再转换为json。

python 2022/1/1 18:27:24 有461人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶