首页 > 解决方案 > 如何在 python 数据框中上传 .txt 文件

问题描述

我正在尝试上传一个包含如下数据的 txt 文件。我在文件中有大约 1M 条记录。数据由不同的字段(将是 columns )组成,我在其中手动添加了一个逗号作为分隔符。挑战在于所有记录都不具有相同的字段集。列应该是 "Time" , "ENTER" , "TRANSID" , "SUPERCODE" ,"ID", "MRP","VOLUME","VALUE","PRODUCTtype","BUILDING","TAXNUM", "TAGFIELDS" "

00:00:00.000:, ENTER, transId=1, Supercode=BD3G, id=1, MRP=0.12s9, volume=110333, value=20942463.27, productype=se IA CF, building=11430, taxnumber=110F1, tagFields= {B=CC=NZd3/1 D="20170514 07:41:53.616" F=:00000017PouM H=LMT O=6521B841:00023662-A-15.1sd01.200.0.50dsd03.0.0 R="未添加订单" a= A c=FIRST3eNZA j=N}

00:00:00.000:, ENTER,transId=2,Supercode=BYG, id=2, MRP=0.195, volume=223000, value=43485,> productype=se IA CF, building=110, taxnumber=110I1, tagFields= {B=C> C=NZ3 D="20170514 07:41:25.161" F=:00000017PouK H=LMT> O=6521B841:00023625-A-15.101.200.0.5003.0.0 R="Ordernot 添加" a=A > c=FIRSTNZA j=N}

#对于这条记录,没有taxnumber,所以这条记录的TAXnumber列字段应该是空白/Nan 00:00:00.000:, ENTER, transId=3, Supercode=TBC, id=3,MRP=2.71, volume= 3750, value=10162.5, productype=It CF UeCP,> building=110, tagFields={B=CC=4331K D="20170514 > 13:59:51.288" H=LMT K=12345O=6521B841:0027d59B6-B-15.101 .200.0.5009.0.0 R="未添加订单" a=P c=4sd33E> j=N}

#对于这条记录,没有楼号,所以这条记录的楼号栏字段应该是空白/Nan

00:00:00.000:, ENTER, transId=4, Supercode=ABT, id=4, MRP=2.73,> volume=357, value=974.61, productype=se IrA CtF, taxnumber=110B1, tagFields={B=CC =ZBJF D="20170929 16:10:01.321" H=LT O=6521B5841:003A98565-A-15.101.2050.0.5009.0.0 R="未添加订单" a=A c=BNPLLCOLO j=Y}

我已经尝试了以下步骤:

数据 = pd.read_csv("path.txt",delimiter=",",header=None)

我得到了输出

ParserError:错误标记数据。C 错误:预计第 66017 行中有 10 个字段,看到 11

标签: pythonpandasdataframetextpython-import

解决方案


尝试在您的 pd.read_csv() 中使用engine='python'anderror_bad_lines=False


推荐阅读