Pfade ablegen...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
madddiin
User
Beiträge: 12
Registriert: Donnerstag 15. Oktober 2020, 17:39

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
Weg von Excel VBA... hin zu Python.
Sirius3
User
Beiträge: 18253
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1224
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

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.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten