Python 熊猫按唯一ID将csv拆分为多个csv

Python 熊猫按唯一ID将csv拆分为多个csv,python,pandas,Python,Pandas,我真的迷路了,需要一些帮助或提示 我有一个具有重复id的CSV文件,我想将其拆分为多个CSV,每个CSV文件包含一个唯一id 预期产出应为 file1.csv 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/

我真的迷路了,需要一些帮助或提示

我有一个具有重复id的CSV文件,我想将其拆分为多个CSV,每个CSV文件包含一个唯一id

预期产出应为

file1.csv

 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.csv

 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
你需要:

[df.loc[df['id']==x].to_csv() for x in df['id'].unique()]

您可以使用它来获得所需的结果

您介意添加预期的输出吗?我已经说过,纯代码编写请求与堆栈溢出无关-我们希望这里的问题与特定的编程问题相关-但我们很乐意帮助您自己编写!告诉我们,你被困在哪里了。这也将帮助我们更好地回答您的问题。您没有按唯一id拆分数据,而是根据
No
列中的日期格式进行拆分。在任何情况下,
df.No=pd.to\u datetime(df.No)
,然后
df.drop\u duplicates(inplace=True)
,因为您显示的数据除了
No
字符串的格式外,都是相同的。但如果出现了4次ID,这意味着这将无法根据需求选择您的子集。H根据副本更改它。如果您可以通过创建id和日期的子集来选择重复项,那么就使用它。其他部分将保持不变。
file_2 = data[data.duplicated(subset='id')]
file_1 = data[~data['No'].isin(list(typee_1['No']))]