我是一個txt文件,並取得字符串,併爲我創建的字典創建第一個密鑰,其餘部分將作爲元組的值。有一個標題,我已經讓我的代碼在開始時「忽略」它。從文本文件到字典
TXT值的例子:
"Ronald Reagan","1981","8","69","California","Republican"
"George Bush","1989","4","64","Texas","Republican"
"Bill Clinton","1993","8","46","Arkansas","Democrat"
我想創建字典,讓下面的輸出:
{"Ronald Reagan": (1981,8,69,"California", "Republican") etc.}
這是我currenltly有我的代碼:
def read_file(filename):
d={}
f= open(filename,"r")
first_line = f.readline()
for line in f:
#line=line.strip('"')
#line=line.rstrip()
data=line.split('"')
data=line.replace('"', "")
print(data)
key_data=data[0]
values_data= data[1:]
valuesindata=tuple(values_data)
d[key_data]=valuesindata
print(d)
read_file(filename)
第一個打印語句(我把它放在那裏只是爲了看看當時的輸出是什麼,它給了我以下:
Ronald Reagan,1981,8,69,California,Republican
George Bush,1989,4,64,Texas,Republican
等。通過它到達第二個print語句時將執行以下操作:
{'R': ('o', 'n', 'a', 'l', 'd', ' ', 'R', 'e', 'a', 'g', 'a', 'n', ',', '1', '9', '8', '1', ',', '8', ',', '6', '9', ',', 'C', 'a', 'l', 'i', 'f', 'o', 'r', 'n', 'i', 'a', ',', 'R', 'e', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 'n', '\n'), 'G': ('e', 'o', 'r', 'g', 'e', ' ', 'B', 'u', 's', 'h', ',', '1', '9', '8', '9', ',', '4', ',', '6', '4', ',', 'T', 'e', 'x', 'a', 's', ',', 'R', 'e', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 'n', '\n')}
另外,我在報價分裂,因爲我的一些字符串包含逗號作爲名稱的一部分,例如:「Carl,Jr.」
我不想導入csv模塊,那麼有沒有辦法做到這一點?
它是一個csv文件嗎? – Radan
是的,但是我受到限制,無法導入任何模塊作爲限制。 – Nick