add files
This commit is contained in:
commit
29f4d0b70a
2 changed files with 49 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
*.csv
|
46
main.py
Normal file
46
main.py
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
import csv
|
||||||
|
|
||||||
|
|
||||||
|
def read_file(path: str, delimiter=","):
|
||||||
|
res: dict[str, list[str]] = {}
|
||||||
|
with open(path) as csv_file:
|
||||||
|
csv_reader = csv.reader(csv_file, delimiter=delimiter)
|
||||||
|
header = next(csv_reader)
|
||||||
|
for h in header:
|
||||||
|
res[h] = []
|
||||||
|
for row in csv_reader:
|
||||||
|
for idx, h in enumerate(header):
|
||||||
|
res[h].append(row[idx])
|
||||||
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def count(quantities: dict[str, list[str]], sent: dict[str, list[str]]):
|
||||||
|
quantites = list(zip(quantities["Item number"], quantities["Nb pdt / carton"]))
|
||||||
|
envoyes = list(
|
||||||
|
zip(sent["CodeArticle"], sent["QuantiteCommande"], sent["NumeroCommande"])
|
||||||
|
)
|
||||||
|
|
||||||
|
acc = []
|
||||||
|
for envoye in envoyes:
|
||||||
|
for quantite in quantites:
|
||||||
|
if envoye[0] == quantite[0]: # meme article
|
||||||
|
if envoye[1] == quantite[1]: # meme quantité
|
||||||
|
acc.append(envoye)
|
||||||
|
break
|
||||||
|
if int(envoye[1]) % int(quantite[1]) == 0: # multiple du carton
|
||||||
|
acc.append(envoye)
|
||||||
|
break
|
||||||
|
|
||||||
|
return acc
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
quantites = read_file("quantites.csv")
|
||||||
|
envoyes = read_file("envoyes.csv", ";")
|
||||||
|
|
||||||
|
data = count(quantites, envoyes)
|
||||||
|
|
||||||
|
with open("results.csv", "w") as f:
|
||||||
|
writer = csv.writer(f)
|
||||||
|
writer.writerow(["Code", "Quantite", "NumeroCommande"])
|
||||||
|
writer.writerows(data)
|
Loading…
Reference in a new issue