【问题标题】:Splitting a list from a text file in more than one way以多种方式从文本文件中拆分列表
【发布时间】:2014-11-17 18:10:27
【问题描述】:

我正在尝试编写一个程序,该程序接受一个文本文件并通过使用 .split 方法将其拆分成块来解释每一行。

我正在尝试拆分如下所示的一行:4-Jan-72,后跟一个制表符,然后是一个浮点数。我想尝试拆分它,这样“-”和标签就消失了。有人告诉我使用 '\t' 来拆分选项卡,但我不确定如何将两者与一行一起使用。

line = rain_file.readline().strip().split("-",'\t')

我目前认为这是我的错误。

line = rain_file.readline().strip().split("-",'\t')
TypeError: 'str' object cannot be interpreted as an integer

【问题讨论】:

  • 阅读the docs;第二个参数应该是maxsplit
  • 你需要使用正则表达式,而不是拆分。
  • 您能否提供一个示例以及预期的输出?

标签: python list file split


【解决方案1】:

好像你想要这样的东西,

输入文件file.txt包含,

foo
4-Jan-72    10.5678
bar

代码:

#!/usr/bin/python3
import re
with open('file.txt', 'r') as f:
    for line in f:
        if re.match(r'\d+-[A-Z][a-z]+-\d+\b', line):
            line = re.sub(r'\t.*|-', r'', line)
            print(line, end='')
        else:
            print(line, end='')

输出:

foo
4Jan72
bar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多