将 CSV 转换为 JSON,拆分为 x JSON 个文件并将结果存储到 minio 存储桶

Convert CSV to JSON, split to x JSON files and store the result to a minio bucket

在函数内部,我有以下代码加载 CSV,将其转换为 JSON 并将转换后的文件上传到 minio 存储桶。

    df = pd.read_csv('data.csv').to_json().encode("utf-8")   
    client.put_object(
        "bucket",
        "test.json",
        data=BytesIO(df),
    length=len(df),
    content_type='application/csv'
    )

是否可以遍历数据并将数据拆分为 X json 个文件?我试过 pandas read_csv(..iterator=False, chunksize=x) 但到目前为止运气不好。

像这样的东西应该对你有用。这里的代码将数据帧分成 1000 行的组,并将每个组写入存储桶中自己的 JSON 文件。

df = pd.read_csv('data.csv')

X = 1000
groups = [g for _, g in df.groupby(df.index // X)]

for i, sub_df in enumerate(group):
    data = sub_df.to_json().encode("utf-8")
    client.put_object(
        "bucket",
        f"test_{i}.json",
        data=BytesIO(data),
        length=len(data),
        content_type='application/csv'
    )
    ```