我正在尝试将两个文件合并到字典中。它们都是文本文件。
第一个文件有州首字母和人口。它看起来像这样:
AL 4447100
AK 626932
AZ 5130632
AR 2673400
CA 33871648
CO 4301261
...
第二个文件具有状态初始和州名称(此时间为每行,而不是并排):
AL
Alabama
AK
Alaska
AZ
Arizona
AR
Arkansas
CA
California
CO
Colorado
...
我正在尝试创建一个看起来像这样的字典
{'Alabama': 4447100, 'Alaska': 626932, ...}
现在,我无法阅读第一个文本文件。当缩写符合时,我如何只读取数字?
第二个文本文件更容易,因为我可以读取每隔一行。
有什么建议吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
我不会提供完整的解决方案,因为这可能是家庭作业,但你的最后一个应该有这样的代码
d = {}
with open('file1.txt') as f:
for line in f:
state, pop = line.split()
d[states[state]] = int(pop) # states is a dictionary with initials as
# the keys and full names as values
答案 2 :(得分:0)
问)现在,我在阅读第一个文本文件时遇到了麻烦。当缩写符合时,我如何只读取数字?
A)您可以使用每行的字符串来删除字符串中的前3个字符(首字母缩写词和空格):
number = lineString[3:]
答案 3 :(得分:0)
假设您有文件states.txt
和pop.txt
with open("states.txt") as f1:
x= f1.read().split()
states = {state:abrv for state,abrv in zip(x[0::2],x[1::2])}
with open("pop.txt") as f2:
y= f2.read().split()
pop = {states[abrv]:val for abrv,val in zip(y[0::2],y[1::2])}