【问题标题】:How can you read just the first word of every line of file using python?如何使用 python 只读取文件每一行的第一个单词?
【发布时间】:2017-04-01 21:40:49
【问题描述】:

在大型文本文件中仅读取每一行的第一个单词的最有效方法是什么?我应该使用split 吗?有没有更有效的方法?我可以只阅读一个单词并丢弃该行并转到下一行吗? 现在我正在使用这个:

for line in f:
    dct[line.split(None, 1)[0]] = dct.get(line.split(None, 1)[0], 0) + 1

【问题讨论】:

  • 来到这里,我们假设您已经做出了一些努力来解决自己的问题,如果您这样做了 - 请向我们展示您的代码,如果没有,请先尝试并发布更具体的问题。祝你好运!
  • 你尝试了什么?你想添加输入文件的概述吗?

标签: python file parsing


【解决方案1】:

为了最大限度地提高效率使用

line.split(" ",1)[0]

在第一次出现时拆分因此可以节省时间

【讨论】:

    【解决方案2】:

    试试:

    with open('file.txt','r') as f:
        for line in f:
            print(line.split(' ')[0])
    

    file.txt 是您要读取的文件。您还可以使用:

    f = open('file.txt', 'r') 
    for line in f:
            print(line.split(' ')[0])
    
    • f.readline() 返回该行
    • .split(' ') 创建一个以每个单词为元素的列表
    • [0] 选择第 0 个元素

    正如我所说的那样,通过不浪费时间为变量赋值来最大化效率。虽然也不算多。

    【讨论】:

    • f.readline().split(' ')[0] 应该是 line.split(' ')[0]。由于您已经处于 for 循环中
    • 谢谢。是的,我不知道我想做什么。
    【解决方案3】:

    为了确定“行”是什么,您必须阅读直到找到换行符。如果您只想使用第一个单词,您正确地确定了 split() 是要走的路。

    【讨论】:

      【解决方案4】:

      只需使用somestring.split(" ")

      【讨论】:

        猜你喜欢
        • 2011-04-14
        • 2013-05-20
        • 1970-01-01
        • 1970-01-01
        • 2019-07-12
        • 1970-01-01
        • 2022-08-21
        • 1970-01-01
        • 2011-10-25
        相关资源
        最近更新 更多