python读取txt中的数据问题

用python读取txt列表的某一列,然后想把这列放在一个list中,怎么弄?... 用python读取txt列表的某一列,然后想把这列放在一个list中,怎么弄? 展开
 我来答
牛乃茴
推荐于2017-11-26 · 尘世间的一个小书童。
牛乃茴
采纳数:35 获赞数:345

向TA提问 私信TA
展开全部
filename = r'a.txt'
alist = []
lines = open(filename,'r').readlines()
alist = [line.strip().split(',')[3] for line in lines ]#字段以逗号分隔,这里取得是第4列
更多追问追答
追问
Area  100.00                
span 10.00
TC 10.00
RC 10.00
按照你的写法,输出是:
span 10.00 这个样子。。我只想要后边的数字。
追答

亲,你这个是空格分隔的吗?只用第二列是吧!

filename = r'a.txt'
alist = []
lines = open(filename,'r').readlines()
alist = [line.strip().split()[1] for line in lines ]#字段以空格分隔(如果是tab,请换为\t),这里取得是第2列
tim_spac
2014-04-03 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2017万
展开全部
import itertools

def iterreadcolumnfromfile(
        filehandle, 
        spliter=',', 
        col=0, 
        skiprow=0,
        convertor=None, 
        ):
    """打开的文本文件filehandle
        是用spliter分隔的表格; 
        跳过skiprow行,
        读取其中第col列的数据
        用convertor转换读到数据 (默认的None不进行任何转换)
    """
    convertfunc = convertor or (lambda x: x)
    for rowid, columns in enumerate(itertools.imap(
            lambda ln: ln.strip().split(spliter),
            filehandle)):
        if rowid < skiprow:
            continue
        try:
            yield convertfunc(columns[col])
        except:
            yield None

filename = 'recorder.tsv'
with open(filename, 'rt') as handle:
    datas = [x for x in iterreadcolumnfromfile(handle, 
            spliter='\t', 
            col=1,
            skiprow=0,
            convertor=float,
            )]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式