
Ludzki #programowanie #python
Kod tutaj: https://pastebin.com/ti7Yq3fq
Co miał robić program:
Docelowo miał pobrać dane od użytkownika, a potem pozamieniać konkretne wartości w przygotowanych wcześniej plikach docx (takich jakby szablonach). Takie szybkie generowanie powtarzalnych formularzy i wniosków.
Po kolei kodu może nie będę tłumaczył, coś tam pomógł chat gpt, ale najważniejsze:
mamy słownik wszystkich gotowych formularzy z parami kluczy i wartości gdzie klucz to rzecz podmieniana a po dwukropku już gotowa wartość (docelowo wiadomo, będę pytał użytkownika). Podmiana też nie zmienia stylu formatowania tekstu w plikach.
Później mamy pętlę, gdzie w zależności od tego, jaką cyfrę podał użytkownik, do pustego słownika kopiujemy wartość z tego głównego słownika. Później pary kluczy i wartości są używane w metodzie i generują docelowy plik.
Jako że jestem na początku swojej przygody z programowaniem i się tak wdrażam to jak widzicie jakieś rażące błędy to dawajcie znać, chętnie poczytam i na 100% się czegoś też nauczę. Na dzień dobry już mi nie pasuje, że w pętli mam jeżeli warunek == 1 to, analogicznie jeżeli warunek == 2 to itd. Na bank się da to jakoś poprawić.
Docelowo chciałbym, żeby użytkownik mógł wpisać nie tylko jedną cyfrę, np. 1, 2, 4, ale na tę chwilę nie umiem sformułować warunku, bo w obecnej chwili wyszedłby z tego niemały potwór.
Aha, wiem, że nie ma to żadnej walidacji i nie sprawdza w żaden sposób użytkownika, ale na to przyjdzie jeszcze czas.
Kod tutaj: https://pastebin.com/ti7Yq3fq
Co miał robić program:
Docelowo miał pobrać dane od użytkownika, a potem pozamieniać konkretne wartości w przygotowanych wcześniej plikach docx (takich jakby szablonach). Takie szybkie generowanie powtarzalnych formularzy i wniosków.
Po kolei kodu może nie będę tłumaczył, coś tam pomógł chat gpt, ale najważniejsze:
mamy słownik wszystkich gotowych formularzy z parami kluczy i wartości gdzie klucz to rzecz podmieniana a po dwukropku już gotowa wartość (docelowo wiadomo, będę pytał użytkownika). Podmiana też nie zmienia stylu formatowania tekstu w plikach.
Później mamy pętlę, gdzie w zależności od tego, jaką cyfrę podał użytkownik, do pustego słownika kopiujemy wartość z tego głównego słownika. Później pary kluczy i wartości są używane w metodzie i generują docelowy plik.
Jako że jestem na początku swojej przygody z programowaniem i się tak wdrażam to jak widzicie jakieś rażące błędy to dawajcie znać, chętnie poczytam i na 100% się czegoś też nauczę. Na dzień dobry już mi nie pasuje, że w pętli mam jeżeli warunek == 1 to, analogicznie jeżeli warunek == 2 to itd. Na bank się da to jakoś poprawić.
Docelowo chciałbym, żeby użytkownik mógł wpisać nie tylko jedną cyfrę, np. 1, 2, 4, ale na tę chwilę nie umiem sformułować warunku, bo w obecnej chwili wyszedłby z tego niemały potwór.
Aha, wiem, że nie ma to żadnej walidacji i nie sprawdza w żaden sposób użytkownika, ale na to przyjdzie jeszcze czas.
- Najlepsze
- Wszystkie komentarze







replacetextindocx efektywnie pracuje na słowniku z jednym tylko kluczem. Słownik z jednym kluczem nie ma racji bytu, dane których potrzebujesz są w słowniku zagnieżdżonym w środku, tam jak najbardziej ma on sens. Zauważ że iterujesz po docreplacements.items() tylko raz, po to żeby wyciągnąć do osobnej zmiennej jedyny
def replace_text_in_docx(docx_path):replacements = dictOfRecepientRequests[docx_path]
doc =
choices_map = {'1': "zdO.docx",
'2':
snake_casea stałe
SCREAMING_SNAKE_CASEtego już nie zmieniałem żeby nie gmatwać dodatkowo
@Calka_internowana: do mapowania liczb nie jest potrzebny słownik, wystarczy zwykła tablica, chyba że przewidujesz dziury w numeracji.
3. template jest obiektem typu Path i jako taki ma atrybut name https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.name
części merytorycznej nie sprawdzę teraz, pewnie dopiero wieczorem ale ma to oczywiście sens.
bardzo ważna uwaga co do zmiennych - uczyłem się z jakiegoś kursu na udemy i tam właśnie zmienne były pisane aaaaBaaaaCaaa stąd te zmienne u mnie ale już będę się stosował do tego nazewnictwa.
i przy okazji: dużo wiecej trzeba na juniora? :Do
@Calka_internowana:
To jest tak dobre że powinno trafić pod tag #codereview.
Wniosek do jednego urzędu jest udostępniany w pdf z polami które można wypełnić bezpośrednio w przeglądarce pdfów. Stwierdziłem, że może przekonwertuje sobie wniosek do docx, ale jak to bywa, wykrzaczyło bo wniosek ma dużo grafik, kolumn i innych problematycznych rzeczy. Myślałem, że obejdę to poprzez pola tekstowe.
Pola tekstowe, tak czy