在指定的行Python之后拆分CSV文件

时间:2017-06-03 20:20:25

标签: python csv split

我试图拆分包含201行的CSV文件。前136行包含的信息与其余65行不同。无论如何我可以在136行之后拆分CSV文件吗?

到目前为止我找到的解决方案均匀地分割了文件。我也将此视为可能的解决方案:https://gist.github.com/jrivero/1085501

2 个答案:

答案 0 :(得分:3)

您可以在文件对象上使用两个csv.reader个对象。使用itertools.islice 切割第一个读取器对象,直到指定的行数,然后使用第二个读取器读取其余行。

如果两个部分的分隔符不同,则两个csv.reader对象可以轻松处理:

import csv
from itertools import islice

with open('your_file_name.csv') as f:
    first_rows = list(islice(csv.reader(f), None, 136))
    last_rows = list(csv.reader(f, delimiter=';')) # use a different delim or quote char

答案 1 :(得分:1)

如果您知道需要跳过的行数,可以使用csvreader.line_num来了解您正在阅读的行,您可以在此处找到有关该行的更多信息:https://docs.python.org/2/library/csv.html#reader-objects