如何在python中过滤文本文件第一行中的字段名

德克·库门

我有以下文本文件:

id gen age mar loc inc iscr escr
51 F 46 M 0 15100 531 555
52 M 29 M 2 14200 673 633
53 M 25 S 0 22200 742 998
54 M 36 M 2 1000 677 646
55 F 99 S 0 10600 608 998
56 F 45 M 2 6100 710 743
57 M 99 M 2 16500 679 646
58 F 37 M 0 7400 637 683
59 M 45 S 0 22800 683 998
60 M 22 S 0 6400 699 998
61 M 32 S 0 3100 721 998

现在,我想制作一个对第一行中的字段名称进行过滤的函数,例如,如果调用该函数:filter('inc')您将在“ inc”上过滤此列表。有谁可以帮助您?

公路跑者

您还可以创建一个函数,该函数为您提供字典列表,其中包含文本文件数据中的每一行:

def get_data(filename):
    data = []

    with open(filename) as in_file:
        headers = next(in_file).split()

        for line in in_file:
            row = dict(zip(headers, line.strip().split()))
            data.append(row)

    return data

它返回以下内容:

{'id': '51', 'gen': 'F', 'age': '46', 'mar': 'M', 'loc': '0', 'inc': '15100', 'iscr': '531', 'escr': '555'}
{'id': '52', 'gen': 'M', 'age': '29', 'mar': 'M', 'loc': '2', 'inc': '14200', 'iscr': '673', 'escr': '633'}
{'id': '53', 'gen': 'M', 'age': '25', 'mar': 'S', 'loc': '0', 'inc': '22200', 'iscr': '742', 'escr': '998'}
...

然后,您可以使用列表推导过滤出这些数据:

>>> data = get_data('filter.txt')
>>> [row['inc'] for row in data]
['15100', '14200', '22200', '1000', '10600', '6100', '16500', '7400', '22800', '6400', '3100']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中删除文本文件的第一行

如何获取输入文本文件的第一行,同时从文本文件中删除该行

如何在node.js中的文本文件中添加第一行(使用fs)

如何在文本文件unix中显示包含特定字符串的第一行?

如何在Java中读取文本文件的第一行并将其打印出来?

如何使用cmd在文本文件的第一行中编写?

如何从文本文件中删除一行?

如何在现有文本文件中的python中的一行中添加字符?

如何在python文本文件中的每一行中增加字符串中的数字?

如何在整个文本文件中搜索一行文本

如何使用SED / AWK将文本文件中的第一行与最后一行交换

如何在C ++中从文本文件中删除一行?

如何从 Python 中的文本文件中的每一行中删除模式

如何在文本文件中合并每一行及其后续行

如何在jspdf autotable中的col标头和行之间的第一行中添加字段名称?

如何在Python中从文本文件中删除第一个空格?

如何在ansible中遍历文本文件的每一行

如何在文本文件C ++中查找和替换一行数据

如何在文本文件中向上或向下移动一行?

如何在c#中从一行删除到文本文件的末尾?

如何在 C 程序中读取文本文件的最后一行?

如何在python和beautifulsoup中的文本文件中将多个for循环打印结果写入一行

如何在文本文件的第二行上写而忽略第一行?

如何从 Python 文本文件中的一行中提取数字

Python 3+ 如何编辑文本文件中的一行

如何从python中的文本文件向下读取一行

如何从python中的文本文件中切出一行?

使用sed从Windows中的文本文件中删除第一行

在SSIS中打开文本文件,并将第一行存储在变量中