找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3270|回复: 7

[求助] python提取TXT数据求助

9

主题

17

帖子

17

积分

贫民

积分
17
颜粟 发表于 2020-10-27 10:49:15 | 显示全部楼层 |阅读模式
如果描述的不算清楚,有图可以看下
数据有7列,但是有的行里因为数据小数点后位数太多占据空格,数据粘连在一起,分不开列了,有什么办法把他们分开,或者剔除这些行?
问题数据 2020-10-27 104442.png
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2020-10-30 15:32:08 | 显示全部楼层
本帖最后由 sheeboard 于 2020-10-30 17:49 编辑

参考

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

使用道具 举报

9

主题

17

帖子

17

积分

贫民

积分
17
颜粟  楼主| 发表于 2020-11-1 16:12:46 | 显示全部楼层
我试了,说是空的分隔符,放了空格,点执行没反应。
我又试了
if line.max_columns==7:,就提示str没有max_columns,
是数据格式还需要变换?
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2020-11-1 17:05:56 | 显示全部楼层
你还是传个文件上来吧。
回复 支持 反对

使用道具 举报

9

主题

17

帖子

17

积分

贫民

积分
17
颜粟  楼主| 发表于 2020-11-1 18:20:00 | 显示全部楼层
数据文件吗?我只看到了图片和链接上传
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2020-11-1 19:50:59 | 显示全部楼层
颜粟 发表于 2020-11-1 18:20
数据文件吗?我只看到了图片和链接上传

那复制粘帖几个数据到帖子里总会吧
回复 支持 反对

使用道具 举报

9

主题

17

帖子

17

积分

贫民

积分
17
颜粟  楼主| 发表于 2020-11-2 08:59:09 | 显示全部楼层
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
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2020-11-2 18:43:31 | 显示全部楼层
本帖最后由 sheeboard 于 2020-11-2 18:45 编辑

  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'])
复制代码

参考
Screenshot from 2020-11-02 18-41-27.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表