我有一个 csv 文件,我正在解析它以将内容读入字典。但是,下面的代码给了我所有键的每个值的括号:值对:
import csv
f = open(input('Which csv file: '))
cdata = csv.reader(f, delimiter = ';', quoting = csv.QUOTE_NONNUMERIC)
cdict = {}
for row in cdata:
cdict[row[0]] = row[1:]
print(cdict)
f.close()
我努力了:
for row in cdata:
row = "".join(row)
cdict[row[0]] = row[1:]
但收到错误:
TypeError: sequence item 0: expected str instance, float found
我将 csv 的内容读取为浮点数而不是字符串的原因是首先删除无关字符。我需要字典的最终输出只包含来自 csv 的实际数字,即没有引号或括号。
下面确实返回了我正在寻找的内容,但必须有一种更 Pythonic 的方式来做到这一点:
for row in cdata:
cdict[row[0]] = row.pop()
示例 csv 数据:
Number;Value
0;13.168159
1;13.1681598889
2;13.0313661591