我有一个包含两列的CSV文件,如果行中的第一列不是NULL而第二列有" AB; CD; EF"则要将行复制到新的CSV文件中。列由","分隔。这是一个样本
2213,AS; DS; FDS; SD
2343,EW; WE; RT; CX; LASKJDLK
1231,AB; CD; EF; WERWERER
,SD;DF;DF;DFGD
2322,FD; AB; CD; EF; ASDFDFAS; SDFD; SDF
我提前感谢您的帮助。
file = open(test.csv', 'r')
lines = file.readlines()
i = 1
array1 = []
while i < len(lines):
KoLID = lines[i][0:lines[i].index(',')]
if KoLID != 'None':
cname = lines[i][lines[i].index(',')+1:-1]
array1 += [(KoLID,cname)]
i += 1
array1 = sorted(array1)
file.close()
file1 = open(new.csv', 'w')
KoLID = array2[0][0]
cname = array2[0][1]
if cname[:8] == 'AB;CD;EF':
file1.write(lines)
file1.close()
答案 0 :(得分:1)
如果没有直接为您编写代码,我不确定能提供多少帮助。您可能需要阅读其中一些内容,但是 希望这会指出你正确的方向:
首先,您需要遍历每一行。 类似于:for line in file
然后你可以在每一行上使用.split()并指定你想要拆分&#39;,&#39;。这将为您提供字段中每个项目的列表。
最后查看列表的第一个和第二个索引,如果它是你想要的,将它写入第二个文件。
理解有用或必要的东西:for循环,.split(),列表/索引, in 运算符,以查看一个字符串是否在另一个