如何从配置文件(具有列名)中基于定界符拆分列名

时间:2019-07-02 14:19:47

标签: python json pandas dataframe

我的文本文件的列名如下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]

请帮助您提出任何建议或语法

2 个答案:

答案 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 ]