Python-将文件读取到字典

古斯

我有一个.txt文件,看起来像这样:

Key1    Key2    Key3
Val1-A  Val2-A  Val3-A
Val1-B  Val2-B  Val3-B
....

每个字段都由制表符分隔,如何在不使用任何for / while循环的情况下读取文件并将其存储在列表字典中?允许理解

with open("file.txt", "r") as input:
    #comprehension here

谢谢!

编辑:对不起,我忘记了到目前为止的尝试

 try:
    with open("file.txt", "r") as input:
        line = input.readline()
        line = re.split(r '\t+', line)
        myDict = dict(line.strip() for line in infile)
        if line == "":
            raise ValueError            
 except IOError:
    print ("Error! File is not found.")
 except ValueError:
    print("Error! File is empty.")
阿贾克斯1234

以下是两种可能的解决方案,它们的结构类似于您所描述的数据:

data = [i.strip('\n').split('\t') for i in open('filename.txt')]
new_data = [dict(zip(data[0], i)) for i in data[1:]]

输出:

[{'Key3': 'Val3-A', 'Key2': 'Val2-A', 'Key1': 'Val1-A'}, {'Key3': 'Val3-B', 'Key2': 'Val2-B', 'Key1': 'Val1-B'}]

要么:

new_data = {a:list(b) for a, b in zip(data[0], zip(*data[1:]))}

输出:

{'Key3': ['Val3-A', 'Val3-B'], 'Key2': ['Val2-A', 'Val2-B'], 'Key1': ['Val1-A', 'Val1-B']}

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python将文件读取到字典

从文件读取到 python 字典

Python - 如何从 .csv 文件读取到字典?

如何从文件中读取第一行作为键,将接下来的 3 行作为值列表读取到字典,python

Python Kivy将文件写入/读取到SD卡

Python Tkinter csv将文件读取到条目

使用Python将文件读取到多维数组

使用python将数据文件读取到数组

将CSV文件读取到字典

由于将数字格式化为文本,因此无法将Excel文件读取到Python

将包含 python 列表的文本文件读取到 python 列表中的更简洁的方法

将 XML 数组读取到 python dict

从网站将.tar.gz文件的内容读取到python 3.x对象中

在python 3.5中将csv文件读取到Networkx图中

如何将csv文件读取到Python 2d数组中?

如何使用Python将文本文件中的数据读取到数组中

从Python将Excel文件读取到内存中并将工作表传递给Pandas

使用csv.reader将文件读取到列表中,但跳过特定的列(Python)

如何将 csv 文件中的坐标读取到 Python 中?

将JavaScript变量提取到Python字典中

Python:如何将包含行列格式的坐标的文本文件读取到xy坐标数组中?

从json文件的嵌套列中读取到pandas df python

如何在python中将文件读取到列表中?

在Python中将文件输入行读取到多个列表中

在python中将xml文件读取到数据框

将Python字典写入文件

将Excel列中的数据读取到Python列表中

如何使用python将Excel数据读取到数组中

将int的csv读取到Python中的单个列表中