Python 基于列值从csv列表创建csv
我是python新手,我正在尝试按照col 3的值对csv文件进行排序和创建,col 3的值是行标题 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
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')
您可以选择传递paramsindex=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,是否有办法将列表用作在单独文件中创建的输入?您能在您的问题中编辑列表的外观吗,谢谢!多谢各位