在Python中读取|清除器文件并提取变量

在Python中读取|清除器文件并提取变量,python,Python,我试图读取一个带有除数“|”的txt文件,然后提取第二个和第三个变量。 因此,数据如下所示: a|bb|cc| aaa|b|cccc| 我想创建一个只包含第二个和第三个变量的数据: bb cc b cccc 有什么建议吗 谢谢大家! with open("data.txt") as f: for line in f: col2, col3 = line.split('|')[1:3] # get 2nd and 3rd column print

我试图读取一个带有除数“|”的txt文件,然后提取第二个和第三个变量。 因此,数据如下所示:

a|bb|cc|   
aaa|b|cccc|
我想创建一个只包含第二个和第三个变量的数据:

bb  cc
b cccc
有什么建议吗

谢谢大家!

with open("data.txt") as f:
    for line in f:
        col2, col3 = line.split('|')[1:3] # get 2nd and 3rd column
        print col2, col3 # this could be written to a file if needed
我会给你

bb cc 
b cccc
其中
data.txt
是您的数据文件

说明:

您可以逐行读取文件,每行使用
|
分隔符,并在每行打印第2和第3个元素。这些数据也可以写入文件,或进一步操作

我会给你

bb cc 
b cccc
其中
data.txt
是您的数据文件

说明:


您可以逐行读取文件,每行使用
|
分隔符,并在每行打印第2和第3个元素。此数据也可以写入文件,或进一步操作。

使用具有适当方言的模块,然后按行切片结果列表并输出。

使用具有适当方言的模块,然后按行切片结果列表并输出。

您可以使用该模块。简单而优雅。

您可以使用该模块。简单而优雅。

使用
csv
模块

import csv
input = csv.reader(open('your_file.txt', 'rb'),delimiter="|")
for row in input:
    print row[1:]

这将打印出除第一行之外的每一行中的其他值。当然,您可以在我打印的地方执行任何您想执行的处理。

使用
csv
模块

import csv
input = csv.reader(open('your_file.txt', 'rb'),delimiter="|")
for row in input:
    print row[1:]

这将打印出除第一行之外的每一行中的其他值。你当然会做你想做的任何处理,而不是在我打印的地方。

@user1615275更新了我的答案,以适应编辑之前在你的原始帖子中看不到的新行。为了更好地衡量,也许在某个地方添加一个行长度测试,这样你就不会提出一个
索引器
?@PierreGM是的,我同意你的观点,通常这是一个好主意,但由于OP指出并提供了一个常规数据集,并且没有提到不规则的可能性,这符合他们对给定数据的要求(但如果OP另有指示,当然可以轻松调整)1.谢谢你的建议,让我们看看有没有收到你的来信OP@user1615275更新了我的答案,以适应编辑前原始帖子中不明显的换行符。为了更好地衡量,也许可以在某个地方添加一个行长度测试,这样你就不会提出
索引器
?@PierreGM是的,我同意你的看法,通常这会这是一个好主意,但由于OP表示并提供了一个常规数据集,并且没有提及不规则的可能性,因此这符合他们对给定数据的要求(但如果OP表示其他情况,当然可以轻松调整)。感谢您的建议,让我们看看是否收到OP的建议