我的文本文件的列名如下Columns.txt
Employee_ID|X
Employee_Name|X
Age|Y
我正在按照以下方法阅读以上各列。
with open("Columns.txt") as c:
columns_list = c.readlines()
columns_list=[col.replace('\n','') for col in columns_list]
print(columns_list)
Output : ['Employee_ID|X', 'Employee_Name|X', 'Age|Y']
我如何限制输出中具有第二个“ |”的列具有“ X”的管道定界符值。
Example: Output : should be like [Employee_ID,Employee_Name]
请帮助您提出任何建议或语法
答案 0 :(得分:3)
您可以使用:
with open("Columns.txt") as c:
columns_list = [col for line in c for col, x in [line.strip().split('|')]
if x == 'X']
print(columns_list)
它应该显示:
['Employee_ID', 'Employee_Name']
答案 1 :(得分:1)
您可以使用:
with open("Columns.txt") as c:
columns_list = c.readlines()
columns_list=[col[:col.replace('\n','').find('|')] for col in columns_list]
更正后编辑:
columns_list=[col[:col.replace('\n','').find('|X')] for col in columns_list if col.find('|X') >0 ]