我不能打开一个文件,有;
和:
作为分隔符,而且每行有不同数量的列。
我尝试使用pd.read_csv(PATH, sep = '"\s+|;|:"', engine='python')
,只有带有;
的部分被分离,而带有:
的部分没有。
文本示例:
S;540356274820466;0;NS;2.077867e+01;5:1.23552:4.04445e+12:454.462:0.998828
S;540356274820466;0;SN;2.077867e+01;10.1184:3.19213:1.80215:1.23552:5:2:642.45:601.13:245.744:-450.649:-312.861
B;540356274820466;0;BSN;2.077867e+01;0:1.012e+01:3.192e+00:1.802e+00:6:0:1:1.009e+01:0.000e+00:0.000e+00:1:0:1929.84:0.045349:nan:nan:nan:nan
S;540356274820466;1;NS;2.343362e+01;5:1.23552:8.12127e+12:171.825:0.984511
S;540356274820466;1;SN;2.343362e+01;8.90999:2.75048:1.63983:1.23552:5:2:295.479:238.863:-27.2251:-127.144:200.371
B;471288698479673;1;RLO_BEGIN;5.939171e+00;0:2.580e+01:9.689e+00:0.000e+00:3:0:1.883740e+02:1.804118e+02:1:2.527e+01:0.000e+00:0.000e+00:1:0:2.477457e+01:1.787137e+02:1.02091:1000:473.878:0.0780887
B;471288698479673;1;CIRC;5.939171e+00;473.878:0.0780887:436.873:0
B;471288698479673;1;CE;5.943525e+00;0:2.500e+01:9.851e+00:0.000e+00:3:0:1:2.565e+01:0.000e+00:0.000e+00:1:0:4.269463e+02:3.430075e+02:0
2条答案
按热度按时间j5fpnvbx1#
您没有多个分隔符。最后一个字段是一个可变项目数的“列表”:
如果你想把最后一列保留为list,不要使用
expand=True
:fykwrbwg2#
必须指定
python
引擎。C
引擎无法自动检测分离器,但python
引擎可以。所以试试这个
结果
考虑到两个分隔符,您有10列