【问题标题】:Searching numbers in file separated by many blank spaces在由许多空格分隔的文件中搜索数字
【发布时间】:2021-05-19 15:09:55
【问题描述】:

我需要构建一个 python 代码来存储文件中的 python 编号。这些数字所在的行以单词“Mark”开头,然后是空格和三列数字,如下所示:

Mark    1     2    3 
Mark    4     4    6

其中数字之间的空格数未知。我知道如何逐行读取文件搜索字行:

with open("doc.dat") as file:
    for line in file:
        if line.startswith("Mark"):

但我不知道如何调用提取数字并将它们传递给变量的条件。如何做到这一点?

提前致谢

【问题讨论】:

  • 有一个字符串方法“split”。然后你可以使用“int”将字符串转换为数字。
  • 关键是我不知道每个数字之间有多少个空格,所以我想我不能用“”作为分隔符,可以吗?
  • @PaulRoberts nums = list(map(int, line.split()[1:])).

标签: python python-3.x file input spyder


【解决方案1】:

你可以用这个代码提取数字:

with open("doc.dat") as file:
    for line in file:
        if line.startswith("Mark"):
            line = line.strip()[4:].strip()
            numbers_list = []
            for letter in line:
                if letter != ' ':
                    numbers_list.append(int(letter))
            print(numbers_list) #its list of numbers

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多