所以我打开了一个csv文件来解析,但是csv中的某些行的格式不正确。csv格式通常如下所示:
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
但是在csv中的某些点(因为有多个associateTix
和ipaddress
),当有多个associatedTix
时,它的格式如下:
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
'associatedTix','associatedTix''\n'
'associatedTix''\n'
'ipAddress','associatedTix''\n'
'ipAddress','associatedTix''\n'
所以我要做的是得到正确格式的csv:
for line in inputCsvFile:
chunks = line.split(",")
if associatedTix in chunks[0]:
#go through the following line's after that line until you find an ip address
#go one line above the line with the ip address
#push that column to the above row, and repeat until you get to the original line3 row with the ip address
这3行注解就是我在语法上遇到麻烦的那一行,所以任何帮助确定语法的人都将不胜感激。此外,确认我的逻辑将得到正确的格式csv将不胜感激。
2条答案
按热度按时间oxf4rvwz1#
csv
可以正确处理带换行符的字段,只要它们被引用:...
所以你认为你有问题,实际上你没有。您所需要做的就是对第二个字段进行后处理,然后将其写回。
wljmcqd82#
正如伊格纳西奥所说,如果您使用
csv
模块,就不会有任何问题。如果你不想使用它,使用这个:这样做的好处是,正如martineau所说,您不需要将整个文件存储在内存中。
但是,如果使用
csv
模块,则需要进行更多的操作:两者都将为您提供: