Seite 1 von 1

Pfade ablegen...

Verfasst: Sonntag 24. Januar 2021, 20:11
von madddiin
Hallo,

ich hoffe, dass diese Frage nicht zerrissen wird... ich skripte in Excel VBA zwar schon seit Ewigkeiten. Python finde ich super... denke aber hier noch vieles lernen zu müssen. Habe mal eine Frage Zum Thema Pfade oder generell Programmdaten abgelegen. Habe meisten URL(s) in eine Liste geschrieben und dann mit Index darauf zugegriffen. Denke aber mal dass dies nicht richtig ist. Eine Exceltabelle ist ja schon sein Datencontainer in sich. In Python müssen die Daten ja wohin abgelegt werden.

In eine Textdatei ablegen... JSON? Oder wie macht man das in Python. Für mein Anliegen ist eine Datenbank nicht zu gebrauchen bzw. wäre zu viel des Guten.

Für antworten sehr dankbar.

Viele Grüße

Martin

Re: Pfade ablegen...

Verfasst: Sonntag 24. Januar 2021, 21:59
von Sirius3
Wenn es nur einer Liste mit URLs ist, reicht doch eine Textdatei völlig aus. Bei komplexen Dingen kann auch eine JSON-Datei sinnvoll sein.
Wenn du dir unsicher bist, zeige ein konkretes Beispiel.

Re: Pfade ablegen...

Verfasst: Montag 25. Januar 2021, 09:37
von DeaD_EyE
In eine Textdatei ablegen... JSON? Oder wie macht man das in Python. Für mein Anliegen ist eine Datenbank nicht zu gebrauchen bzw. wäre zu viel des Guten.
Kommt auf den Inhalt, Form und Menge der Daten an.

Python aus Excel heraus: https://www.xlwings.org/
Excel-Dokumente mit Python öffnen und verarbeiten: https://openpyxl.readthedocs.io/en/stable/

Ausgabeformate gibt es auch ganz viele. CSV, Json, yaml, toml, plain text
Für den Anfang würde ich CSV verwenden.

Wenn es unter Windows ausgeführt wird, muss das Encoding explizit mit angegeben werden, da Windows scheinbar bei manchen Versionen immer noch (latin1) als Standard-Zeichensatz verwendet.
Bei Windows 10 20H2 ist es jetzt wohl "utf8". Hat auch lang genug gedauert. Jedenfalls kamen dort oft die Probleme mit Zeichensalat her.
In dem Beispiel mit dem csv.writer geben sie das Encoding nicht explizit an. Ich habe es mal trotzdem mit reingenommen:

https://docs.python.org/3/library/csv.html#examples

Code: Alles auswählen

import csv
with open('some.csv', 'w', newline='', encoding='utf8') as fd:
    writer = csv.writer(fd)
    writer.writerows(someiterable)
someiterable sind in deinem Fall die Daten aus deiner Tabelle, die eingelesen werden müssen.

PS: Es gar nicht so abwegig Daten in eine Datenbank zu packen. Sqlite3 bietet sich dafür an und die am meisten verwendete Bibliothek auf diesem Planeten. Der Vorteil sind die SQL-Queries und bei sqlite3 benötigt man keinen Server. D.h. die Datei selbst ist die Datenbank. So ziemlich jede Anwendung nutzt das intern.