ValueError: invalid literal for int() with base 10: '405,000'
コードは次のとおりです。
for d in csv.DictReader(open(c_name + '.csv'), delimiter=','):
global d_value
d_value = int(d['Debt Value'])
405,000
は有効ではありませんint
。そのコンマを削除する必要があります。
d_value = int(d['Debt Value'].replace(',', ''))
またはモジュールを使用しlocale
ます:
import locale
# You might need to set a locale
# locale.setlocale(locale.LC_ALL, '')
d_value = locale.atoi(d['Debt Value'])
値にカンマが含まれているようです。これがエラーの原因です。次のような方法で数値をサニタイズすることができます。
d_value = int(d['Debt Value'].replace(",", ""))
作業中は、作業が終わったらファイルを閉じることをお勧めします。with ステートメントを使用して、ブロック後に確実に閉じることができます。
with open(c_name + ".csv") as csvfile:
for d in csv.DictReader(csvfile, delimiter=','):
global d_value
d_value = int(d['Debt Value'].replace(",", ""))