我正在研究有史以來第一個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'
。我錯過了什麼?