pandas 将df 按照列A中的值拆分保存为csv文件,并且行数不超过25000行,同一个A值尽可能不要超过一个文件,并且要尽可能利用满25000行的空间
时间: 2024-12-14 15:27:39 浏览: 25
Pandas库可以方便地处理这类数据分割操作。你可以使用`to_csv`函数配合`groupby`功能来实现。首先,你需要导入pandas库并加载数据到DataFrame(df)。然后,按照列A的值对数据进行分组,同时设置`chunksize`参数,这样每次处理的数据量就是25000行。以下是简单的步骤:
```python
import pandas as pd
# 假设df是你的DataFrame
# df = ...
# 设置每个文件的行数上限
chunksize = 25000
# 创建一个空列表来存储文件路径
file_paths = []
# 使用applymap转换A列为字符串类型,以便于分组
df['A'] = df['A'].astype(str)
# 遍历A列的唯一值,并将每组数据写入单独的CSV文件
for a_value in df['A'].unique():
group_df = df[df['A'] == a_value]
# 如果当前组的行数超过了chunksize,将其拆分为多个小文件
for i, g_df in enumerate(group_df.groupby(np.arange(len(group_df)) // chunksize)):
# 提取每部分数据并保存
g_path = f'a_value_{a_value}_{i}.csv'
g_df[0].reset_index(drop=True).to_csv(g_path, index=False)
# 将文件路径添加到列表中
file_paths.append(g_path)
#
阅读全文
相关推荐


















