我正在研究有史以来第一个python脚本来读取支票簿寄存器。寄存器的细节是一个CSV文件:Python 3.6读取csv文件并使用浮动字母作为字典键
date,chk num,description,amount,cleared state
另外,csv文件是个人支票和银行的交易下载的组合。理想情况下,每份记录有两份:一份来自支票簿,另一份来自银行。事实上,有些银行记录没有出现在支票簿清单和其他一些古怪的事物中。
如果我在perl
这样做,那么我会有散列哈希每个级别的唯一性。我尝试在这里使用dicts
,并且遇到了关键值问题。具体来说,我的第一个唯一性关键是交易金额。这可能是一个正或负的浮点数正好用两个十进制数字,无千位分隔符:一拉1234567.89或-0.24等
import csv
with open('C:/my/bank/docs/combined.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
#
# value
if dataset.get(row[3]) != None:
...
事实证明,文件中的第一个值为-2844.29。我在if dataset.get(row[3]) != None:
行上得到keyError
。它抱怨关键“-2844.29”。
csv文件不会“引用”该值,因此我认为它被视为float
。然后我试着将它与
if dataset.get('{:.2f}'.format(row[3])) != None:
转换为string
但告诉我:ValueError: Unknown format code 'f' for object of type 'str'
。我错过了什么?