85 lines
2.4 KiB
Python
85 lines
2.4 KiB
Python
import json
|
|
from datetime import datetime
|
|
import os
|
|
import pyodbc
|
|
import random
|
|
import string
|
|
|
|
# Path to your Access database
|
|
db_path = r"u:\Dropbox\!!!Days\Downloads Z230\Access\Banka.accdb"
|
|
# Connection string
|
|
conn_str = (
|
|
r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};"
|
|
rf"DBQ={db_path};"
|
|
)
|
|
# Connect to database
|
|
conn = pyodbc.connect(conn_str)
|
|
|
|
# Create cursor
|
|
cursor = conn.cursor()
|
|
|
|
cursor.execute("delete from transactions")
|
|
conn.commit()
|
|
|
|
|
|
|
|
# Load from file, načtení bankovních pohybů
|
|
with open(r"u:\Dropbox\!!!Days\Downloads Z230\Fio\pohyby.json", "r", encoding="utf-8") as f:
|
|
transactions = json.load(f)
|
|
# print(transactions["accountStatement"]["transactionList"])
|
|
# Process
|
|
for tx in transactions["accountStatement"]["transactionList"]["transaction"]:
|
|
#ID pohybu
|
|
idpohybu=str(tx["column22"]["value"])
|
|
datum=tx["column0"]["value"]
|
|
|
|
#Datum transakce
|
|
datum = datetime.strptime(datum, "%Y-%m-%d%z")
|
|
datum = datum.date()
|
|
|
|
#Částka
|
|
objem = int(tx["column1"]["value"])
|
|
|
|
#Měna
|
|
mena = tx["column14"]["value"]
|
|
|
|
#Název protiúčtu
|
|
nazevprotiuctu=tx["column10"]["value"]
|
|
|
|
#Typ transakce
|
|
typ = tx["column8"]["value"]
|
|
|
|
#Konstantní symbol
|
|
if tx["column4"] is not None:
|
|
kss=tx["column4"]["value"]
|
|
else:
|
|
kss=""
|
|
|
|
# Provedl
|
|
if tx["column9"] is not None:
|
|
provedl = tx["column9"]["value"]
|
|
else:
|
|
provedl = ""
|
|
|
|
# ID pokynu
|
|
if tx["column17"] is not None:
|
|
idpokynu = str(tx["column17"]["value"])
|
|
else:
|
|
idpokynu = ""
|
|
|
|
|
|
# print (idpohybu,datum,objem,mena,nazevprotiuctu,typ,kss,provedl,idpokynu)
|
|
# if idpohybu=="3016989040":
|
|
# # Uložení do Accessu, jestli ještě neexistuje")
|
|
# cursor.execute("insert into transactions (idpohybu, datum) values (?,?)", (idpohybu, datum))
|
|
# conn.commit()
|
|
# print("committed")
|
|
|
|
print (idpohybu,datum,objem,mena,nazevprotiuctu,typ,kss,provedl,idpokynu)
|
|
print(type(idpohybu))
|
|
# Uložení do Accessu, jestli ještě neexistuje")
|
|
cursor.execute("insert into transactions (idpohybu, datum,objem,mena,nazevprotiuctu,ks,typ,provedl,idpokynu) values (?,?,?,?,?,?,?,?,?)",
|
|
(idpohybu, datum,objem, mena, nazevprotiuctu,kss,typ,provedl,idpokynu))
|
|
# cursor.execute("insert into transactions (idpohybu) values (?)", (idpohybu))
|
|
conn.commit()
|
|
print("committed") |