added new version of findUniques

This commit is contained in:
Erik Örtenberg 2025-11-12 15:06:59 +01:00
parent b1834fbfcb
commit b53cf3ba09

69
findUniques2.py Normal file
View File

@ -0,0 +1,69 @@
import csv
print("Detta program rapporterar skillnader mellan verifikat som refererar till varandra genom beskrivningen av verifikatet. Den utgår från krediter och hittar matchande debeter")
lines = []
result = []
with open("konto.csv", "r") as file:
lines = file.readlines()
startLine = 12
# READING
for i, line in enumerate(lines):
if "Konto" in line and "Verifikation" in line:
startLine = i
break
with open("konto.csv", "w") as file:
file.writelines(lines[startLine:-1])
with open("konto.csv", "r") as file:
csvreader = csv.DictReader(file, delimiter=";")
for row in csvreader:
result.append(row)
with open("konto.csv", "w") as file:
file.writelines(lines)
# FILE RESTORED, PARSE DATA
krediter = {}
debeter = {}
header = result.pop(0)
for line in result:
if not line['"Verifikation"']:
continue
if line['"Kredit"'] and float(line['"Kredit"'].replace(",",".").replace(" ","")) > 0:
krediter[line['"Verifikation"'].replace(" ","")] = line
elif line['"Debet"'] and float(line['"Debet"'].replace(",",".").replace(" ","")) > 0:
debeter[line['"Verifikation"'].replace(" ","")] = line
sums = {}
for kVerf, kLine in krediter.items():
sums[kVerf] = {"value": -float(kLine['"Kredit"'].replace(",",".").replace(" ","")), "debets": []}
toDel = []
for dVerf, dLine in debeter.items():
if kVerf + " " in dLine['"Beskrivning"'] or dLine['"Beskrivning"'].endswith(kVerf):
sums[kVerf]["value"] = sums[kVerf]["value"] + float(dLine['"Debet"'].replace(",",".").replace(" ",""))
sums[kVerf]["debets"] = sums[kVerf]["debets"] + [dVerf]
toDel.append(dVerf)
for dVerf in toDel:
del debeter[dVerf]
for verf, a in sums.items():
if abs(a["value"]) > 0.0001:
print(verf, ": ", a)
#seen = {}
#
#for verf in content:
# if verf[1] not in seen.keys():
# seen[verf[1]] = verf[0]
# else:
# seen.pop(verf[1])
#
#for kr, verf in seen.items():
# print(verf, kr)