使用Python读取csv文件并进行分类存储

同学叫我帮忙用Python做csv表格分类,整理一下遇到的问题及解决方案

原生数据文件TEST.csv:

使用Python读取csv文件并进行分类存储_第1张图片

如图我需要根据G列内容,分别对A,B,C进行分类到A.csv,B.csv,C.csv

上代码,首先尝试生成A.csv

import csv
file = open('TEST.csv', 'r')
lines = file.readlines()
file.close()

row = []
column = []
for line in lines:
    line.strip()
    row.append(line.split(','))
for c in row:
    column.append(c[6])
with open('A.csv', 'w')as csvfile:
    writer=csv.writer(csvfile)
    for c in row:
        if c[6] == 'A':
            writer.writerow(c)

发现得到的A.csv内容,emmmmmm...

使用Python读取csv文件并进行分类存储_第2张图片

应该是换行符问题所导致,在open('A.csv', 'w')中加上newline=''可以解决,至于newline=''就是说因为我们的csv文件的类型,如果不加这个东西,当我们写入东西的时候,就会出现空行

A.csv

使用Python读取csv文件并进行分类存储_第3张图片

最后完成分别对A,B,C进行分类部分的代码

import csv

def write(name, row):
    with open(name+'.csv', 'w', newline='')as csvfile:
        writer = csv.writer(csvfile)
        for c in row:
            if c[6] == name:
                writer.writerow(c)

file = open('TEST.csv', 'r')
lines = file.readlines()
file.close()

row = []
for line in lines:
    line.strip()
    row.append(line.split(','))

write('A', row)
write('B', row)
write('C', row)

B.csv

使用Python读取csv文件并进行分类存储_第4张图片

C.csv

你可能感兴趣的:(Python)