首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据python中的列值显示行值

根据python中的列值显示行值
EN

Stack Overflow用户
提问于 2015-10-28 10:29:43
回答 1查看 115关注 0票数 0

我仍然是Python的初学者。我正在读取从软件生成的标签分隔文本文件,以筛选出一组值。但是生成的值都是类似于IEEE浮点格式的格式。(例如: 1.5656565656E+02)。

我的选项卡分隔文件是这样的(实际上它是250列。大致是这样的)

代码语言:javascript
复制
Time [s]       Offset_Angle              observability_Analysis
0.00E+00      0.89040261167028E+00        0.00000000000000E+00
4.32E+02      0.21319658757004E+00        0.00000000000000E+00
8.64E+02      0.26803683992125E+00        0.00000000000000E+00
1.30E+03      2.67379011780784E+02        1.00000000000000E+00
1.73E+03      2.89704767087971E+02        1.00000000000000E+00
2.16E+03      2.93302157473406E+02        1.00000000000000E+00

它的目的是过滤那些将它们的Offset_Angle值的observability_Analysis作为1.0000000000000E+00的值,但到目前为止,我正在尝试打印行号,行号以observability_Analysis作为1.0000000000000E+00。

我试过的代码是这样的

代码语言:javascript
复制
with open('E:\\trialpy\\textfile.txt') as f:
    reader = csv.reader(f, delimiter="\t")
    d = list(reader)

for ind in range(len(d)):
    if d[ind][2] == "1.00000000000000E+00":
        print ind

第一组代码工作正常。印鉴是空的。它不提供任何价值。请帮我处理这个。如果这个问题很愚蠢的话,我很抱歉。在这个地方呆了一段时间。有什么办法解决这个问题吗?还是我得换个潘达斯?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 10:42:09

问题似乎是csv读取器无法正确处理这些数据,因此每一行都作为一个字符串保存到一个列表(row)中.

代码语言:javascript
复制
with open('data.csv', 'r') as f1:
    r = csv.reader(f1, delimiter='\t')
    next(r, None) # skip first line
    for row in r:
        thirdc = row[0].split()[2]
        if float(thirdc) > 0.0:
            print(thirdc)

    1.00000000000000E+00
    1.00000000000000E+00
    1.00000000000000E+00
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33388610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档