我有一个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
答案 0 :(得分:0)
由于只有两列,我认为这更像是pythonic
cdata = csv.reader(f, delimiter = ';', quoting = csv.QUOTE_NONNUMERIC)
print dict(cdata)