回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我是一个txt文件,把字符串作为我正在创建的字典的第一个键,其余的作为元组。有头在手之前,我已经让我的代码“忽略”它在开始。你知道吗</p>
<p>txt值示例:</p>
<pre><code>"Ronald Reagan","1981","8","69","California","Republican"
"George Bush","1989","4","64","Texas","Republican"
"Bill Clinton","1993","8","46","Arkansas","Democrat"
</code></pre>
<p>我想创建提供以下输出的字典:</p>
<pre><code>{"Ronald Reagan": (1981,8,69,"California", "Republican") etc.}
</code></pre>
<p>这就是我现在的代码:</p>
<pre><code>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)
</code></pre>
<p>第一个print语句(我把它放在那里只是为了看看当时的输出是什么,它给了我以下信息:</p>
<pre><code>Ronald Reagan,1981,8,69,California,Republican
George Bush,1989,4,64,Texas,Republican
</code></pre>
<p>等它到达第二个print语句时,它会执行以下操作:</p>
<pre><code>{'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')}
</code></pre>
<p>另外,我在引号处拆分它,因为我的一些字符串包含逗号作为名称的一部分,例如:“Carl,Jr.”</p>
<p>我不想导入csv模块,有没有办法呢?你知道吗</p>