从python中的文件生成特殊列表

从python中的文件生成特殊列表,python,file,parsing,Python,File,Parsing,我有这样一个文件: one:two:three four:five:six seven:height:nine 等等。。。 我想要的是正确地解析它以获得此类变量: myVar = [("one", "two", "three"), ("four", "five", "six"), ("seven", "height", "nine")] 当然,文件不会在9点停止,之后还有很多行 在Python中如何实现这一点 谢谢 with open('your file') as f: myVar

我有这样一个文件:

one:two:three
four:five:six
seven:height:nine
等等。。。 我想要的是正确地解析它以获得此类变量:

myVar = [("one", "two", "three"), ("four", "five", "six"), ("seven", "height", "nine")]
当然,文件不会在9点停止,之后还有很多行

在Python中如何实现这一点

谢谢

with open('your file') as f:
    myVar = [ tuple(a.split(':')) for a in f.read().split() ]

print myVar
输出

[(‘一’、‘二’、‘三’、(‘四’、‘五’、‘六’、(‘七’、‘高’、‘九’)]

输出


[(‘一’、‘二’、‘三’、(‘四’、‘五’、‘六’、(‘七’、‘高’、‘九’)]
使用列表比较:

with open('filename') as f:
    myVar = [line.rstrip().split(':') for line in f]
如果需要元组列表,请将
line.rstrip().split(“:”)
传递到
tuple()


使用列表形式:

with open('filename') as f:
    myVar = [line.rstrip().split(':') for line in f]
如果需要元组列表,请将
line.rstrip().split(“:”)
传递到
tuple()


您正在处理的数据看起来像是分隔符分隔的。我建议使用,像这样

import csv
with open("Input.txt") as in_file:
    reader = csv.reader(in_file, delimiter=':')
    print [row for row in reader]
    print [tuple(row) for row in reader]
您可以将其转换为元组,如下所示

import csv
with open("Input.txt") as in_file:
    reader = csv.reader(in_file, delimiter=':')
    print [row for row in reader]
    print [tuple(row) for row in reader]

您正在处理的数据看起来像是分隔符分隔的。我建议使用,像这样

import csv
with open("Input.txt") as in_file:
    reader = csv.reader(in_file, delimiter=':')
    print [row for row in reader]
    print [tuple(row) for row in reader]
您可以将其转换为元组,如下所示

import csv
with open("Input.txt") as in_file:
    reader = csv.reader(in_file, delimiter=':')
    print [row for row in reader]
    print [tuple(row) for row in reader]

非常好,谢谢!我正准备为这件事道歉。Python是一种很棒的语言。非常感谢!我正准备为这件事道歉。Python是如此伟大的语言。@aश威尼च傲慢的fixed@Aश威尼च豪宅固定