我尝试将分号分隔的CSV文件读入python。有一列包含一些XML代码,在某些行中,这些代码包含特殊实体,例如<
用于<
等等。这些分号导致错误的行中断,导致某些行的列数不一致。有没有办法在不替换每个有问题的角色的情况下避免这种情况?
以下是此类行的示例(我已将其缩短为可见度):
20160210-12:45:43:047;C2ALLIANCE.EAM.EVENT.EAMEVENTREPORT.DPROB14;<?xml version="1.0"?><FAP:Message><eam:Data id="LOTTYPE">R&D</eam:Data></FAP:Message>;EVENT;DPROB14;
实际上有5列,而&
中的分号会导致额外中断,因此我的代码列数错误。
我需要某些列,我使用numpy:
data = numpy.genfromtxt('csvfile.csv', delimiter=";", dtype='str',usecols=(0, 1, 3), skip_header=1)
如果有问题的分号在引号之间,则可以使用pandas忽略它;但在这里,它完全被用作分隔符(我不是数据的作者)。