Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika fewtoast w Hydepark

Inspirator

w Hydepark

2piorunów

Coś jak Excel, ale nie tabelki tylko plain tekst, i tylko nawiasy klamrowe wstawione w wybranych miejscach, z formułami trochę jak z Excela. Taka aplikacja, taki format pliku?

Nie latex, nie Jupyter Notebook.
Chodzi o formuły jak w excelu, czyli że dane wpisane w plain tekst w jednym miejscu, są użyte do formuły w innym miejscu plain tekstu.
W ten sposób dochodzi do wyliczeń i w programie który otworzy ten plain tekst, w tym miejscu wyświetla się wyliczony wynik. Sam plain tekst nadal ma w tym miejscu nawias klamrowy z formułą.

Np. w programie widać taki tekst:
```
Karol kupił 5 kg jabłek za 19.95 zł, więc jeden kilogram kosztował 3,99 zł.
```

A plain tekst wygląda tak:
```
Karol kupił {kg:5} kg jabłek za {cena:19.95} zł, więc jeden kilogram kosztował {=cena/kg} zł.
```

Po prostu nazywasz dane wpisane w plain tekst w formacie {nazwa:wartość} i odnosisz się do tych danych w formule zaczynającej się od znaku równania.

Formuły powinny być też bardziej zaawansowane, typu odnoszenie się tylko do linijki plain tekstu, wiele wartości z tą samą nazwą, i odnoszenie się do nich jak do listy danych w excelu w kolumnie itp. itd.

Komentarze (4)

Fanatyk1piorunów

@fewtoast - trzeba sobie samemu zaprogramować...

Fanatyk1piorunów

@fewtoast - jak dla mnie to co chcesz brzmi jak Jinja Templating: https://realpython.com/primer-on-jinja-templating/.
Do tego możesz manipulować plikami Excela czy plikami CSV z poziomu Pythona: https://realpython.com/openpyxl-excel-spreadsheets-python/.
Oczywiście możesz też użyć makr w Excelu a jak poczekasz to i nawet Python w Excelu będzie niedługo dla wszystkich dostępnych: https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482
Jak chcesz program z interfejsem graficznym to by nie pisać wszystkiego od podstaw możesz napisać plugin dla VSC: https://code.visualstudio.com/api/get-started/your-first-extension

Primer on Jinja Templating – Real PythonWith Jinja, you can build rich templates that power the front end of your web applications. But you can use Jinja without a web framework running in the background. Anytime you want to create text files with programmatic content, Jinja can help you out.Realpython
Gruba ryba3piorunów

@fewtoast

odnoszenie się tylko do linijki plain tekstu, wiele wartości z tą samą nazwą, i odnoszenie się do nich jak do listy danych w excelu w kolumnie itp. itd.

Czegoś takiego to na pewno nie ma, ale generalnie takie efekty się uzyskuje są pomocą template language albo nawet string interpolation - https://realpython.com/python-string-formatting/

Python String Formatting Best Practices – Real PythonLearn the four main approaches to string formatting in Python, as well as their strengths and weaknesses. You'll also get a simple rule of thumb for how to pick the best general purpose string formatting approach in your own programs.Realpython