我想拆分" source.csv"文件基于它的内容。但当然,这不仅仅是简单的分裂,而是我需要满足一些规则"。
这样的事情会很棒:
Author: Somebody
Date: Christmas
Project-Title: 42
Name, Fruit, Blubb, Drobblwubb
Anton, Apple, 234, NewYork
Bettina, Banana, 234, Chicago
Carolin, Apple, 123, Berlin
Author: Somebody
Date: Christmas
Project-Title: 42
Name, Fruit, Blubb, Drobblwubb
Anton, Apple, 234, NewYork
Carolin, Apple, 123, Berlin
Author: Somebody
Date: Christmas
Project-Title: 42
Name, Fruit, Blubb, Drobblwubb
Bettina, Banana, 234, Chicago
我试验了很多,但是没有真正的" pythonic"甚至还在编写代码:/。
答案 0 :(得分:2)
你有python pandas
模块吗?它是一个很好的数据处理模块,非常适合您。这样的事情可以帮助你:
import pandas
csv = pandas.read_csv('test.csv', sep=',', header=3, skipinitialspace=True)
# header=3 because your header is on the third line
# skipinitialspace is set to True because your example data has spaces after commas
csv_apples = csv[csv['Fruit'] == 'Apple']
csv_bananas = csv[csv['Fruit'] == 'Banana']
csv_apples.to_csv('apples.csv', index=False, sep=',')
csv_bananas.to_csv('bananas.csv', index=False, sep=',')
此示例不会将原始csv的前3行写入生成的csv。你可以分别实现对csv的前三行的读取,并将其传递到to_csv
函数header=yourheader