繁体   English   中英

在空白处分割字串

[英]Split string on white space

我正在尝试读取此奇怪的格式化文本文件,但我不知道如何告诉python每行以定界符开头。

文本文件中的一行如下所示:

     3.146    -1.339      .358    29.214

该文件使用5个空格作为分隔符。 如何将每行读入包含4个项目的列表中?

您可以使用以下方法将每一行读入包含4个项目的列表中:

with open(filename, 'r') as f:

    # this will read in each row as:
    #
    #   ['3.146', '-1.339', '.358', '29.214']
    #
    # so `lines` will contain
    #
    #   [['3.146', '-1.339', '.358', '29.214'], ...]
    lines = map(str.split, f.readlines())

    # or alternatively, as @jez mentioned, it may be more readable to use
    lines = [ line.split() for line in lines ]

    # you'll then likely want to convert them to floats
    # 
    # this will give you:
    #
    #   [[3.146, -1.339, 0.358, 29.214], ...]
    data = [ map(float, split_line) for split_line in lines ]

结合使用splitstrip删除多余的空格:

my_file_data = "     3.146    -1.339      .358    29.214"
data = my_file_data.strip().split('     ')
# do stuff with your data
print(data[0])

这是您的分隔符:

delimiter=' '

然后,您只需使用定界符来分割文本行

lineoftext.split(delimiter)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM