同学叫我帮忙用Python做csv表格分类,整理一下遇到的问题及解决方案
原生数据文件TEST.csv:
如图我需要根据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...
应该是换行符问题所导致,在open('A.csv', 'w')中加上newline=''可以解决,至于newline=''就是说因为我们的csv文件的类型,如果不加这个东西,当我们写入东西的时候,就会出现空行
A.csv
最后完成分别对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
C.csv