Python 提供意外输出的拆分方法

Python 提供意外输出的拆分方法,python,csv,Python,Csv,我从CSV文件中读到一行,如下所示: GsmUart: enabled 2015-08-13T16:57:14.558000 0.072651 请注意,在写入CSV时,行中的每个条目都由'\t'分隔 问题:我想提取0.072651 我试过: print(str(line))给出整行 line.split('\t')[1]。split('\t')[0]给出两者之间的时间戳 line.split('\t')[1]。split('\t')[1]提供索引器:列表索引超出范围 第一个行.

我从CSV文件中读到一行,如下所示:

GsmUart: enabled    2015-08-13T16:57:14.558000    0.072651 
请注意,在写入CSV时,行中的每个条目都由
'\t'
分隔

问题:我想提取
0.072651

我试过:

  • print(str(line))
    给出整行

  • line.split('\t')[1]。split('\t')[0]
    给出两者之间的时间戳

  • line.split('\t')[1]。split('\t')[1]
    提供
    索引器:列表索引超出范围

第一个
行.split('\t')
已经在所有选项卡上拆分,因此在第二次调用中没有更多的选项卡可以拆分,这意味着第二个
.split('\t')
返回的列表中只有一个元素,给您一个
索引器
尝试索引不存在的第二个元素

您需要的是从第一次拆分得到的最后一个元素
0.072651

line.split('\t')[-1]
您还可以使用csv模块通过一个选项卡作为分隔符来读取文件:

import  csv

with open("your_file") as f:
    r = csv.reader(f,delimiter="\t")
    for a,b,c in row: 
        # ...

我觉得自己很愚蠢。line.split('\t')[2]完成了任务,谢谢@xMaster,不用担心,如果您的所有数据都是以制表符分隔的,并且有三列,那么您可以像上一部分一样使用csv模块进行拆分