5 python提取TXT数据求助

如果描述的不算清楚,有图可以看下
数据有7列,但是有的行里因为数据小数点后位数太多占据空格,数据粘连在一起,分不开列了,有什么办法把他们分开,或者剔除这些行?

attachments-2021-08-hc8bAhNP610e6d3977ffe.png

请先 登录 后评论

最佳答案 2021-08-07 19:24

0.0000    0.0345    0.0345    0.0345    0.0000    0.0000    0.0000
    0.0105    0.0345    0.0345    0.0345    0.0000    0.0000    0.0000
    0.0209   -0.0107   -0.0107   -0.0107    0.0000    0.0000    0.0000
    0.0314    0.0060    0.0060    0.0060    0.0000    0.0000    0.0000
    0.0419    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
    0.052399999.000099999.000099999.0000   -0.0000    0.0000   -0.0000
    0.062899999.000099999.000099999.0000    0.0000   -0.0000    0.0000
    0.073399999.000099999.000099999.0000   -0.0000   -0.0000    0.0000
    0.1570 3675.1989 3675.1989 3675.1989   -0.0000   -0.0000   -0.0000
    0.1675   -0.0000   -0.0000   -0.0000    0.0000    0.0000    0.0000
    0.1779    0.0020    0.0020    0.0020    0.0000    0.0000    0.0000
    0.1884   -0.0012   -0.0012   -0.0012    0.0000    0.0000    0.0000
    0.1989    0.0010    0.0010    0.0010    0.0000    0.0000    0.0000
    0.2093    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
    0.2198 3542.0161 3542.0161 3542.0161   -0.0000    0.0000    0.0000
    0.230355981.667955981.667955981.6679   -0.0000   -0.0000    0.0000
    0.240784349.506584349.506584349.5065    0.0000    0.0000    0.0000
    0.251280802.742580802.742580802.7425    0.0000   -0.0000   -0.0000
    0.261731345.732131345.732131345.7321    0.0000   -0.0000   -0.0000
    0.272114467.733814467.733814467.7338   -0.0000   -0.0000    0.0000
    0.282634670.181134670.181134670.1811    0.0000   -0.0000   -0.0000
    0.293167230.087367230.087367230.0873   -0.0000    0.0000    0.0000
    0.303592583.623592583.623592583.6235    0.0000   -0.0000   -0.0000
    0.314099999.000099999.000099999.0000    0.0000   -0.0000   -0.0000
    0.324599999.000099999.000099999.0000    0.0000   -0.0000   -0.0000
    0.3349   -0.0000   -0.0000   -0.0000    0.0000    0.0000    0.0000
    0.3454    0.0010    0.0010    0.0010    0.0000    0.0000    0.0000
    0.3559   -0.0006   -0.0006   -0.0006    0.0000    0.0000    0.0000
请先 登录 后评论

其它 6 个回答

黄静丶


参考

for line in f.readline():
     if len(line.split(' ')==7:
            自己决定怎么做
     else:
            pass
           

请先 登录 后评论
欧阳平静
我试了,说是空的分隔符,放了空格,点执行没反应。
我又试了
if line.max_columns==7:,就提示str没有max_columns,
是数据格式还需要变换?
请先 登录 后评论
吃货玲洋
你还是传个文件上来吧。
请先 登录 后评论
历经传奇
数据文件吗?我只看到了图片和链接上传
请先 登录 后评论
瑜彬

那复制粘帖几个数据到帖子里总会吧
请先 登录 后评论
一个等待

  1. import pandas as pd
  2. import re
  3. a=[]
  4. with open('test','r') as f:
  5.     for line in f.readlines():
  6.         temp=re.split('\s+',line.strip())
  7.         if len(temp)==7:
  8.             a.append(temp)
  9. df=pd.DataFrame(a,columns=['a','b','c','d','e','f','g'])
复制代码

参考
请先 登录 后评论
  • 8 关注
  • 1 收藏,727 浏览
  • 木子丶簫 提出于 2021-08-07 19:23

相似问题