存在长度不均匀的txt文件
LS-DYNA user input
ls-dyna mpp.78769 s date 01/02/2013
constraint # axial shear time failure length rslt moment torsion
1720 8.39282E-01 6.55466E-01 1.20000E+03 0.0 spotweld beam ID 938970 4.47325E+01 2.24041E+00
1721 3.30134E-01 5.08016E-01 1.20000E+03 0.0 spotweld beam ID 938971 4.47310E+01 1.70857E+00
1722 9.52039E-01 2.24977E+00 1.20000E+03 0.0 spotweld beam ID 938972 3.50040E+00 1.14531E+01
1723 1.37947E+00 3.75614E+00 1.20000E+03 0.0 spotweld beam ID 938973 2.99986E+00 3.72429E+01
1724 -1.29900E+00 8.59783E-01 1.20000E+03 0.0 spotweld beam ID 938974 3.50112E+00 1.11357E+01
1725 -1.39978E+00 5.05035E+00 1.20000E+03 0.0 spotweld beam ID 938975 2.99934E+00 1.69379E+01
1726 -8.28811E-01 2.36767E+00 1.20000E+03 0.0 spotweld beam ID 938976 3.50022E+00 1.01569E+01
1727 -8.02390E-01 2.83158E+00 1.20000E+03 0.0 spotweld beam ID 938977 2.99945E+00 5.26153E+01
1728 2.45994E+01 2.55278E+02 1.20000E+03 0.0 spotweld beam ID 938978 3.51565E+00 1.03888E+01
1729 3.79365E+01 1.91420E+01 1.20000E+03 0.0 spotweld beam ID 938978 2.99987E+00 8.96939E+00
在不使用skiprows
的情况下,由于没有数据的行在不同情况下会发生变化,所以我尝试通过
这会给我一个错误
pandas.parser.CParserError: Error tokenizing data. C error: Expected 3 fields in line 2, saw 5
然后我重新定义熊猫参数,如下所示
my_cols = ['A', 'B', 'C', 'D', 'E','F','G']
elout= pd.read_csv(File, names=my_cols, header=None, delim_whitespace=True)
不会有问题的。除了这种愚蠢的方式,有没有其他的设置我可以求助于解决这个问题?在
谢谢你!在
如果您不想使用
skiprows
,另一种方法是像f = open(File)
那样自己打开文件。{然后手动解析第三行。一旦通过f
提取了头的有用部分,并且文件指针到达了表的开头,只需将f
作为第一个参数传递给read_csv
,pandas将从该点开始处理数据。在相关问题 更多 >
编程相关推荐