python - 如何将文本文件内容转换为字典

标签 python dictionary

我将字典值写入文本文件。现在我想读取相同的文本文件以将内容提取为带有键和值的字典。

文本文件内容采用这种格式

   '5945-01-311-3597': {'NSN': '5945-01-311-3597', 'Nomenclature': 'ARMATURE, ELECTROMAG', 'RFQ_Date': '2-13-2019', 'RFQ_QTY': ' 25', 'Time': '2019-08-14 20:17:56', 'Add_method': 'Dibbs Extract'}, '3110-00-365-4766': {'NSN': '3110-00-365-4766', 'Nomenclature': 'BEARING, BALL, ANNULA', 'RFQ_Date': '2-13-2019', 'RFQ_QTY': ' 29', 'Time': '2019-08-14 20:17:56', 'Add_method': 'Dibbs Extract'}, '3120-01-584-4379': {'NSN': '3120-01-584-4379', 'Nomenclature': 'BEARING, WASHER, THRU', 'RFQ_Date': '2-13-2019', 'RFQ_QTY': ' 1', 'Time': '2019-08-14 20:17:56', 'Add_method': 'Dibbs Extract'},

因此一个键值对将如下所示

  '5945-01-311-3597': {'NSN': '5945-01-311-3597', 'Nomenclature': 'ARMATURE, ELECTROMAG', 'RFQ_Date': '2-13-2019', 'RFQ_QTY': ' 25', 'Time': '2019-08-14 20:17:56', 'Add_method': 'Dibbs Extract'} 

其中 5945-01-311-3597 是此处的键,括号中的其他所有内容都是值。

 RFQ_file=open("RFQs/8-14-2019-rfq.txt", "r")

 RFQ_file_content =RFQ_file.read()

 rfqDict = RFQ_file_content.split('},')

上面的代码产生这个输出

'5945-01-311-3597': {'NSN': '5945-01-311-3597', '命名法': 'ARMATURE, ELECTROMAG', 'RFQ_Date': '2-13-2019', 'RFQ_QTY': '25', '时间': '2019-08-14 20:17:56', 'Add_method': '迪布斯提取'

将上面的文本文件内容转换为字典以便我可以获得特定键的值的最佳方法是什么?

最佳答案

您可以使用json包将string转换为dict

例如,

import json

with open(PATH_TO_YOUR_DATA, 'r') as f:
    data = json.load(f)

然后就可以从dict data中获取你想要的值了。

关于python - 如何将文本文件内容转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57642975/

相关文章:

python - Pandas:修改多个数据帧(在循环中)

python - AWS EC2 免费层 Django 应用程序

python - Google App Engine 模型父级

python - 一个类轮 : creating a dictionary from list with indices as keys

python - 将 for 循环的数组结果存储在字典中

Python正确的缩进

python - 如何使用 Python 打开和处理存储在 Google Cloud Storage 中的 CSV 文件

python - 点和值到数组的字典

python - Python 字典是哈希表的一个例子吗?

Python 对字典列表进行排序