小编kri*_*ine的帖子

Python CSV 到 JSON:为什么 JSON 明显大于 CSV 文件以及如何修复?

在将 CSV 文件转换为 JSON 时,我遇到了一个有趣的问题。我根据 SQLite 查询的输出生成一个 CSV 文件并将其写入硬盘。

然后,我使用 Pandas 将 CSV 文件加载到我的脚本中:

import pandas as pd

df_var  = pd.read_csv('input.csv',header=0, low_memory=False)
Run Code Online (Sandbox Code Playgroud)

我使用了low_memory选项,因为数据帧由多种数据类型组成。如果有人建议的话,我并不反对将所有内容存储为字符串值。

数据帧的每一行代表一条记录(每条记录有 144 个字段/列),因此我一次剥离一行并将其输入到我构建的一个类中,以将该行转换为字典(这是在类内部):

class CSVParser:


    def __init__(self, recordid, tjson={}):

        self.recordid = recordid
        self.json     = tjson

    def create_json(self, df):

        o_dict = {
                    'root': {
                        'id': {
                            'field1':df['field1'],
                            'field2':df['field2'],
                            'field3':self.recordid,
                        },

                        'core': {
                            'field1':df['field1'],
                            'field2':df['field2'],
                            'field3':df['field3'],
                            'field4':df['field4'],
                            'field5':df['field5'],
                            'field6':df['field6'],
                        },

                        #REMAINING RECORDS LEFT OUT FOR BREVITY

                    }
                }

        self.json.append(o_dict)
Run Code Online (Sandbox Code Playgroud)

从这里我将 JSON 写入磁盘

def write_json(self):
    #if self is …
Run Code Online (Sandbox Code Playgroud)

python csv json dictionary pandas

3
推荐指数
1
解决办法
4876
查看次数

标签 统计

csv ×1

dictionary ×1

json ×1

pandas ×1

python ×1