[英]How to convert a text file content to 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是关键,而brack中的其他所有内容都是值。
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','添加方法':'摘要提取'
将上面的文本文件内容转换为字典的最佳方法是什么,以便我可以获得特定键的值?
您可以使用json
包将string
转换为dict
。
例如,
import json
with open(PATH_TO_YOUR_DATA, 'r') as f:
data = json.load(f)
然后,您可以从dict data
获得所需的值。
请注意,文件中可能包含逗号,这可能会导致JSON加载失败。
尝试:
import json
# read data
with open('data.txt', 'r') as file:
data = file.read()
data = data.strip().rstrip(',') # remove potential blank lines and trailing comma
your_dict = json.loads(data)
保存文件时,请尝试使用json.dumps(your_dict)
避免这些问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.