私は初めての小切手帳を読むためのPythonスクリプトに取り組んでいます。レジスタの詳細は、CSVファイルに格納されていますcsvファイルを読み込んでdictキーとして浮動小数点数を使用するPython 3.6
date,chk num,description,amount,cleared state
また、csvファイルは、個人小切手や銀行からダウンロードされたトランザクションの組み合わせです。理想的には、各レコードの2つのコピーがあります:小切手帳からのものと銀行からのものです。現実には、小切手帳リストには表示されない銀行記録やその他の奇妙なものがあります。
私がperl
でこれを行っていたなら、私は一意の各レベルのハッシュのハッシュを持っていました。私はここでdicts
を使用しようとしていますが、キー値の問題が発生しました。具体的には、最初の一意性キーはトランザクションの量です。これは正確に2桁の10進数なし桁区切りと正または負のフロートが考えられます。
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:
...
など、ラ1234567.89または-0.24これは、ファイルの最初の値が-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'
。私は何が欠けていますか?