Skip to main content
 首页 » 编程设计

python之从文件到没有循环的字典对象

2025年05月04日17lyj

我想读取一个文本文件并将内容转换成字典。文件内容如下:

a=15 
b=22 
c=31 
d=42 

是否有任何 python 方法可以在不使用任何循环的情况下一对两行执行此操作? 请帮忙。

我尝试了以下方法:

x=open("file.txt").read() 
z=dict(x.replace('\n',',')) 

但它给我一个错误。

预期结果:

{'a': 15, 'b': 22, 'c': 31, 'd': 42} 

请您参考如下方法:

单行 csv.reader对象:

from csv import reader 
 
d = {k: int(v) for k, v in reader(open(file), delimiter='=')} 
print(d) 

输出:

{'a': 15, 'b': 22, 'c': 31, 'd': 42} 

如果不必将值转换为 int 类型(如您的问题所示)- 只需使用以下内容:

d = dict(reader(open(file), delimiter='=')) 

另一种方法是使用 pandas.read_csv例程(它会方便地转换为 int 类型):

import pandas as pd 
 
d = dict(pd.read_csv(file, delimiter='=', header=None).to_records(index=False)) 
print(d) 

输出:

{'a': 15, 'b': 22, 'c': 31, 'd': 42}