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



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

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文件?我试过用熊猫read_csv(..iterator=False, chunksize=x),但到目前为止运气不好。

这样的东西可能对你有用。在这里,代码将数据帧拆分为1000行的组,并将每个组写入bucket中自己的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'
)
```

最新更新