python - 读取具有多个键的文本文件

标签 python data-structures

我正在尝试打开/读取包含多个值“集”、一些列表、一些整数的文本文件。

我正在努力找出最好的行动方案是什么。

我在下面提供了我尝试导入和操作的文本文件的示例。基本上,文本文件的每一行包含 6 个值,并且所有这些值都相互关联。我的最终目标是能够设置一个几乎“列表的列表”,以便我可以将每组六个值几乎定义为一个。

有人对此有什么想法吗?

house, brick, 876, no, yes, 3
apartment, wood, 345, yes, yes, 1
condominium, brick, 453, no, yes, 8
etc... 

我的预期终点是能够对每个变量进行分类(例如 building type == housematerial == brick 等,并能够搜索这些变量。

最佳答案

因此,只需尝试打开您的文件,然后您需要在换行符以及文本中的逗号上进行拆分。这将为您提供您想要的“列表列表”。此外,我建议您重新映射字典中的所有内容,以便您可以通过有用的 key 访问您的项目。

可能是这样的:

with open('test.txt', 'r') as f:
    data = f.read()

    data = data.split("\n")
    list_of_lists = [row.split(",") for row in data]
    final_list = [{"building_type": row[0].strip(),
                   "material": row[1].strip(),
                   "your_keys": row[2].strip()} for row in list_of_lists]
    print(final_list)

输出:

[{'building_type': 'house', 'material': 'brick', 'your_keys': '876'},
 {'building_type': 'apartment', 'material': 'wood', 'your_keys': '345'}, 
 {'building_type': 'condominium', 'material': 'brick', 'your_keys': '453'}]

关于python - 读取具有多个键的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085125/

相关文章:

python - 阻止 Pandas 对列进行排序

python - Selenium - 不支持 promptUserAndPass 类型的用户提示

c++ - 确定性句柄分配算法

java - 使用 Java 树模型

python - 织物导入错误 : "fab task" vs. "from fabfile import task; task()"

python sql转义正斜杠不起作用

python - win.blit()后台pygame时出现滞后

c# - 实现动态 FlatCollection<T>

c - FIFO 队列头指针不正确

java - 我用 Java 编写的合并排序程序无法运行?