Python 基于列值从csv列表创建csv

Python 基于列值从csv列表创建csv,python,csv,Python,Csv,我是python新手,我正在尝试按照col 3的值对csv文件进行排序和创建,col 3的值是行标题 csv的结构如下所示: Name;Family;ID Paul;Smith;5 Kery;Gou;6 Jimmy;Ja;2 Jony;Luo;5 Jack;Elve;2 我想要得到的结果是3个不同的文件(在本例中)按id排序 所以文件Id5.csv应该是 Paul Smith 5 Jony Luo 5 Kery Gou 6 文件Id6.csv应该是 Paul Smit

我是python新手,我正在尝试按照col 3的值对csv文件进行排序和创建,col 3的值是行标题

csv的结构如下所示:

Name;Family;ID
Paul;Smith;5
Kery;Gou;6
Jimmy;Ja;2
Jony;Luo;5
Jack;Elve;2
我想要得到的结果是3个不同的文件(在本例中)按id排序

所以文件Id5.csv应该是

Paul  Smith  5
Jony  Luo    5
Kery  Gou    6
文件Id6.csv应该是

Paul  Smith  5
Jony  Luo    5
Kery  Gou    6
Id2.csv应该是这样的

Jimmy Ja     2
Jack  Elve   2

希望我说的很清楚,任何帮助都将不胜感激

这可以通过使用库轻松实现:

在您的情况下,您可以忽略上面的
io
位,它只是:

df = pd.read_csv(file_path, sep=';')
所以您只需取消注释行:

df[df['ID']==ID].to_csv('ID' + str(ID) + '.csv')
您可以选择传递params
index=False
sep='\t'
如果您不想使用索引列,并且希望使用制表符分隔,请参阅

如何:

with open('your.csv') as f:
    lines = [line.split(';') for line in f.read().splitlines()[1:]]

lines_grouped = [[l for l in lines if l[2]==x] for x in {l[2] for l in lines}]
for group in lines_grouped:
    with open('Id' + group[0][2] + '.csv', 'w+') as f:
        f.write('\n'.join([','.join(line) for line in group]))

您目前的数据结构是什么,您还没有说明,这是
pandas
如果是,请说明并添加标记Thanke EdChum,是否有办法将列表用作在单独文件中创建的输入?您能在您的问题中编辑列表的外观吗,谢谢!多谢各位