按唯一列拆分CSV

dyn00b

尝试将CS​​V分割为CSV文件的最小值时遇到问题,因此每个文件中都只有唯一的ID

通过运行

count = df['id'].value_counts().max()

我已经知道应该创建的csv文件数量(文件1,文件2,文件3,文件4)

我的预期输出应该是

文件1

 person_name     id    Total  Paid        Date          No
      Deniss  55227  1191,75  0,00  21/08/2019  15/06/2018
      RINALDS  56002   169,00  0,00  21/08/2019  15/06/2018
      OLGA  54689   812,90  0,00  21/08/2019  15/05/2018

文件2

person_name     id    Total  Paid        Date          No
Deniss  55227  1191,75  0,00  21/08/2019    20180615
RINALDS  56002   169,00  0,00  21/08/2019    20180615
OLGA  54689   812,90  0,00  21/08/2019    20180515

文件3

person_name     id    Total  Paid        Date          No
Deniss  55227  1191,75  0,00  21/08/2019    20180613
RINALDS  56002   169,00  0,00  21/08/2019    20180614

文件4

person_name     id    Total  Paid        Date          No
Deniss  55227  1191,75  0,00  21/08/2019    20180612


耶斯列尔

使用GroupBy.cumcount计数器系列,然后写入文件循环:

g = df.groupby('id').cumcount() + 1

for i, df in df.groupby(g):
    df.to_csv(f'file{i}.csv', index=False)

使用样本数据进行测试:

for i, df in df.groupby(g):
    print (df)

      person_name     id    Total  Paid        Date          No
    0      Deniss  55227  1191,75  0,00  21/08/2019  15/06/2018
    4     RINALDS  56002   169,00  0,00  21/08/2019  15/06/2018
    7        OLGA  54689   812,90  0,00  21/08/2019  15/05/2018
      person_name     id    Total  Paid        Date        No
    1      Deniss  55227  1191,75  0,00  21/08/2019  20180615
    5     RINALDS  56002   169,00  0,00  21/08/2019  20180615
    8        OLGA  54689   812,90  0,00  21/08/2019  20180515
      person_name     id    Total  Paid        Date        No
    2      Deniss  55227  1191,75  0,00  21/08/2019  20180613
    6     RINALDS  56002   169,00  0,00  21/08/2019  20180614
      person_name     id    Total  Paid        Date        No
    3      Deniss  55227  1191,75  0,00  21/08/2019  20180612

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫按唯一列值拆分数据框

列出按另一列分组的唯一值

根据一列中的值拆分一个csv,然后按行合并/绑定输出

R:按矩阵的第一列进行拆分

在Python中按一列拆分多张Excel文件

按唯一列值分隔数据

Oracle - CSV 只拆分查询中的一列

按列排序,按另一列唯一排序

根据另一列拆分csv文件的一列

如何根据一列的唯一值将列表拆分为子列表?

大熊猫:在定界符上拆分一列,并获取唯一值

查找唯一列

按第一列排序CSV文件,忽略标题

Pyspark,按一列中的唯一值对另一列中的特定值进行分组

按一列分组,查看另一列长度不均的所有唯一结果

如何提取/拆分数据框中的列表列以分隔唯一列?

唯一列表,无需根据python中的空格拆分条目

按另一列的成对组合计算列的唯一值,并按R按第三列分组

使用python中该列唯一值的动态列表按列拆分数据框

查询以提供 A 列中唯一结果的计数,然后按 B 列中的值拆分

如何将数据按一列拆分,并使用其他信息构成列?

按另一列中指定的字符数拆分数据帧列

r:将包含多个项目的一行按ID拆分为一列

熊猫-添加一列以按组别唯一标识每个组

根据一列条件拆分大 csv 并写入较小的 csv

熊猫通过一列将CSV拆分为多个CSV(或DataFrame)

根据一列的值将CSV文件拆分为少量的CSV文件

如何基于一列拆分CSV文件并创建多个CSV文件

在一列中按值范围拆分数据框