df有一列名为‘外部ID’,根据这一列的值分出所有相同外部ID的数据保存到一个csv文件中,并且要求每个csv文件长度不超过249999的代码。每个csv文件名要包含这一类的外部ID数值
时间: 2024-12-15 13:29:07 浏览: 5
Pandas实现一列数据分隔为两列
在Python中,我们可以使用pandas库来完成这个任务。假设df是一个DataFrame并且已经包含了'外部ID'列。以下是使用pandas的`groupby`和`to_csv`函数来按外部ID分组并生成CSV文件的代码示例:
```python
import pandas as pd
# 假设df是你需要处理的DataFrame
if '外部ID' not in df.columns:
raise ValueError("外部ID列不存在于数据框df中")
# 按外部ID分组
groups = df.groupby('外部ID')
# 遍历每个分组,限制每个文件大小为249999行
for name, group in groups:
# 检查当前分组的行数是否超过250000行
if len(group) <= 249999:
# 如果不超过,直接保存为csv文件,文件名包含外部ID
filename = f"{name}.csv"
group.to_csv(filename, index=False)
else:
# 如果超过,分割成多个文件,每份不超过250000行
for i, sub_group in enumerate(group.iloc[:249999].groupby(np.arange(249999, step=249999))):
sub_filename = f"{name}_{i+1}.csv"
sub_group.to_csv(sub_filename, index=False)
#
阅读全文