row[0].split('-')[1]을 int()로 감싸서 정수형으로 변환하고 다시 실행해 봅시다.
s_mon = [0, 0, 0]
for row in data:
if row[-1] == '전표매입':
mon, payment = int(row[0].split('-')[1]), int(row[-3])
idx = mon - 10
s_mon[idx] += payment
print(s_mon)
실행결과
[2093015, 4127744, 1953269]
이번에는 결과가 제대로 출력됩니다. 코드 실행 과정을 보고 싶다면 반복문에 print(row[0].split('-'), mon, s_mon)나 print(mon, idx, s_mon) 등의 코드를 넣어 반복할 때마다 달라지는 변수의 값을 직접 확인해 보세요.
TIP 가끔 ‘2019-10-12 9:13’이 아니라 ‘2019/10/12 9:13’나 ‘2019.10.12 9:13’처럼 하이픈 대신 다른 기호로 날짜가 표시되는 경우가 있습니다. 이럴 때는 반복문에 print(row[0])을 넣어 이용일시를 직접 출력해 보고 화면에 보이는 기호를 split()에 넣어 주면 됩니다.