我想读取一个文本文件并将内容转换成字典。文件内容如下:
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}
