我收到了一个170万行的txt文件。我正在使用熊猫准备将文件上传到PostgreSQL服务器。它是用管道定界的,并且具有||。和'\'表示可以正常工作的空值。我将一列更改为一个可以工作的int。我将文件加载到数据帧中,一切正常,直到大约1265821行。从这一行开始,文件发生更改。我将数据类型更改为int的列再次具有小数位。我删除的\的空值重新出现。这一直持续到第1268801行,在该行中,我所做的所有更改再次出现。
我多次更改了定界符,以查看是否引起问题。我已经尝试过df.replace('\ ', '')
和df.replace('\\ ', '')
,而不是在read_csv中将其用作na值。
headers2=[headers list]
df=pd.read_csv('/Volumes/SCANS/data_request_2008_2018copy.txt',sep='|',index_col=False,names=headers2,na_values='\\ ',dtype= {'Casenumber':object,'ChargeSerialNumber':object,'Complaintnumber':'int'})
df.to_csv('/Volumes/SCANS/wholetestupload2.txt',index=False, sep='|')
我需要知道为什么会这样。我将从同一个来源获取更多数据,并希望避免将来不得不手动处理这些文件。