【发布时间】:2013-12-16 02:19:36
【问题描述】:
我有一个不断附加的 CSV 文件。它有多个标题,标题中唯一共同的地方是第一列总是“NAME”。
如何将单个 CSV 文件拆分为单独的 CSV 文件,每个标题行一个?
这是一个示例文件:
"NAME","AGE","SEX","WEIGHT","CITY"
"Bob",20,"M",120,"New York"
"Peter",33,"M",220,"Toronto"
"Mary",43,"F",130,"Miami"
"NAME","COUNTRY","SPORT","NUMBER","SPORT","NUMBER"
"Larry","USA","Football",14,"Baseball",22
"Jenny","UK","Rugby",5,"Field Hockey",11
"Jacques","Canada","Hockey",19,"Volleyball",4
"NAME","DRINK","QTY"
"Jesse","Beer",6
"Wendel","Juice",1
"Angela","Milk",3
【问题讨论】:
-
您知道如何使用
csv模块读取行吗?我的意思是,除了拆分部分之外,您的代码是否正常工作? -
如果不同的 CSV 标头具有与前一个相同数量的元素,您会怎么做?你如何区分标题和非标题?例如"NAME","DRINK","QTY"\n 连续两次
-
不懂 Python。只是试图快速解决问题并将其作为一种选择。至于知道哪一行是标题 - “NAME”将始终意味着新标题行的开始。以“名称”开头的两行应该意味着应该创建一个空文件。让我补充一下 - 我很抱歉“嘲笑”,但我找不到足够接近的例子。
-
你在linux上吗?如果您只需要结果,您可以使用
csplit在一行中完成此操作。
标签: python csv python-3.x