【问题标题】:Python - extract word from specific position in text (e.g line 3, second word)Python - 从文本中的特定位置提取单词(例如第 3 行,第二个单词)
【发布时间】:2023-03-23 11:01:01
【问题描述】:

input.txt 看起来像这样:

A 
B C D
E F G
H I J

目标:通过指向行和列来抓住 F。我可以使用下面的代码获取该行。但是我如何只选择第二个单词?以某种方式使用 .splitlines?

line = []
with open (path, 'rt') as input:
    for mylines in input:
        line.append(mylines)
print(line[3])

【问题讨论】:

    标签: arrays python-3.x list text split


    【解决方案1】:

    逐行读取,然后拆分所需的行并获得所需的列。这不会执行错误检查以确保列存在,但会在输入文件的行数少于所需行数的情况下执行错误检查。

    line = []
    desired_row = 3
    desired_col = 2
    value = None
    with open (path, 'rt') as input:
        current_line = 1
        for mylines in input:
            if current_line == desired_row:
                value = mylines.split()[desired_col - 1]
                break
            current_line += 1
    print(value)
    

    【讨论】:

    • 谢谢(也为我的问题格式化)!我得到“无”作为这个例子的输出。 .split 行有问题吗?
    • 尝试打印mylines.split() 看看会发生什么
    • 嗯,所以 print(mylines.split()) 和 print(mylines.split()[desired_col - 1]) 有效。打印(值)是无。怎么会?
    • 已解决。我没有使用'current_line += 1'。操作。
    猜你喜欢
    • 2014-10-18
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    相关资源
    最近更新 更多