提问人:May 提问时间:4/20/2023 最后编辑:Mark TolonenMay 更新时间:4/20/2023 访问量:26
Python 编程:读取文件、拆分和剥离变量以及创建字典
Python programming: Reading file, splitting and stripping variables and creating dictionary
问:
我有这样的数据
AL, Alabama, Montgomery, 4447100,
AK, Alaska, Juneau, 626932,
AZ, Arizona, Phoenix, 5130632,
AR, Arkansas, Little Rock, 2673400,
CA, California, Sacramento, 33871648,
CO, Colorado, Denver, 4301261,
CT, Connecticut, Hartford, 3405565,
DE, Delaware, Dover, 783600,
DC, District of Columbia, Washington, 572059,
FL, Florida, Tallahassee, 15982378,
我不断收到诸如无法迭代之类的错误,并且我无法弄清楚如何将其剥离并拆分为字典。
我试过:
for line in f:
final += line.strip().split(',')
count+=1
print('Line{}: {}'.format(count, line.strip().split(',')))
del final[-1]
print(final)
newDict = {}
for i in final:
finalx += i.strip(' ')
print(finalx)
for i in range(0, len(final), 4):
newDict[final[i]] = final[i+1, i+2, int(i+3)]
print(newDict)]
但它说了一些元组不能在定义中的东西。我希望创建一个字典,然后从中创建一个 csv 文件,并从创建的字典中创建一个 json 文件。
答:
0赞
ddjerqq
4/20/2023
#1
对于初学者,请尝试此代码
with open("path/to/file.txt", "r", encoding="utf-8", errors="ignore") as f:
data = []
for line in f:
code, state, name, population = line.split(", ")
data.append((code, state, name, int(population)))
加载数据
with open
是一个上下文管理器,一旦您完成处理文件,它就会自动为您关闭文件。
除此之外,代码应该非常简单。
将文件内容加载到列表中后,您应该能够轻松地将其操作为所需的任何内容。
您甚至可以像这样使用 dict-comprehension:
dict_data = {
code: (state, name, population)
for code, state, name, population in data
}
评论
0赞
May
4/21/2023
我使用了建议的代码并遇到了与我之前遇到的类似问题,其中给出的数据为 \n 字符生成第 5 个值,或者只是每行的“,' 之后的空格。声明期望 4 个值,并得到了 5 个解决此问题的任何建议?
评论