我有我的一个(文件)查找数据,并将其匹配到其他的(文件B)一旦我找到合适的排在B我想写两个文件的.csv适当行中的特定单元格。另外我需要迭代这个,所以我可能会多次写入文件b中的每一行。Python的CSV模块同时读写
我可以写一个CSV文件,然后一遍又一遍读它?
def match(name, group, cnum):
for data in masterfile_list:
if (name in data[0]):
if (group in data[4]):
if (cnum == "112"):
data[7] = cnum
elif (cnum == "111"):
data[8] = cnum
elif (cnum == "110"):
data[9] = cnum
elif (cnum == "109"):
data[10] = cnum
elif (cnum == "108"):
data[11] = cnum
elif (cnum == "107"):
data[12] = cnum
elif (cnum == "106"):
data[13] = cnum
elif (cnum == "105"):
data[14] = cnum
elif (cnum == "104"):
data[15] = cnum
elif (cnum == "103"):
data[16] = cnum
elif (cnum == "102"):
data[17] = cnum
elif (cnum == "101"):
data[18] = cnum
我会理想地写/替换匹配的行。
我很抱歉,但我是新来这个。如果使用readline – jimstandard1029
@ jimstandard1029,我仍然可以使用CSV模块:通常,不,您不会将'csv'模块与'readlines()'一起使用。但是,首先将所有数据读入内存的建议仍然存在。取而代之的阅读完所有的线一次(如'readlines方法()'一样),你会遍历所有行(通过'csv'模块)。在你的“文件b”的情况下,你应该继续前进,遍历整个事情,在执行任何查找之前,将所有内容全部加载到内存中。然后,在完成计算之前,不要写出任何内容,并在此时写出所有内容。 –