将 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'
)
```
在函数内部,我有以下代码加载 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'
)
```