解压并拆分带有标题的CSV文件

2024-04-25 01:55:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在想如何解压,然后将一个大的csv文件分割成块,但保留每个文件的头。我试过一些东西,但不够精明,使它工作。你知道吗

下面是我使用的代码:

def run():
    # Get filename
    subprocess.call( "path to file" ./original --recursive".split())
    filename = subprocess.check_output("ls original/ ".split()).strip()
    filename = 'original/' + filename
    enter code here
    # Ungzip then split file
    file_content = ungzip(filename)
    zip_content(split_content)

def ungzip(filename):
    with gzip.open(filename) as f:

        counter = 0;
        name_counter = 0
        split_content = ''
        for line in f:
            counter = counter + 1
            split_content = split_content + str(line)
            if(counter >= 250000):
                print '-----------'
                name_counter = name_counter + 1
                name_string = 'file' + str(name_counter)
                print "zipping " + name_string
                zip_content(split_content, name_string )
                split_content = ''
                counter = 0
    return file_content

Tags: 文件namestringdeflinecountercontentzip