首页 > 解决方案 > 如何在python中将一个csv拆分为多个文件

问题描述

我有一个 csv 文件(world.csv),如下所示:

"city","city_alt","lat","lng","country"
"Mjekić","42.6781","20.9728","Kosovo"
"Mjekiff","42.6781","20.9728","Kosovo"
"paris","42.6781","10.9728","France"
"Bordeau","16.6781","52.9728","France"
"Menes","02.6781","50.9728","Morocco"
"Fess","6.6781","3.9728","Morocco"
"Tanger","8.6781","5.9728","Morocco"

我想按国家将其拆分为多个文件,如下所示:

科索沃.csv:

"city","city_alt","lat","lng","country"
"Mjekić","42.6781","20.9728","Kosovo"
"Mjekiff","42.6781","20.9728","Kosovo"

法国.csv:

"city","city_alt","lat","lng","country"
"paris","42.6781","10.9728","France"
"Bordeau","16.6781","52.9728","France"

摩洛哥.csv:

"city","city_alt","lat","lng","country"
"Menes","02.6781","50.9728","Morocco"
"Fess","6.6781","3.9728","Morocco"
"Tanger","8.6781","5.9728","Morocco"

标签: pythonexcelpython-3.xcsvexport-to-csv

解决方案


试试这个:

根据国家名称过滤列。to_csv然后使用in将其转换为 csv 文件pandas

df = pd.read_csv('test.csv')

france = df[df['country']=='France']
kosovo = df[df['country']=='Kosovo']
morocco = df[df['country']=='Morocco']

france.to_csv('france.csv', index=False)
kosovo.to_csv('kosovo.csv', index=False)
morocco.to_csv('morocco.csv', index=False)

推荐阅读