Hallo,
bei meinen Messungen, wird ein Pfadname mit ID des Werkstückes und ein Timestamp mit Datum und Uhrzeit erzeugt.
Mittels Replace habe ich die notwendigen Angaben wie ID, Datum und Uhrzeit schon extrahiert.
Nun habe ich folgende Struktur so vorliegen:
ID Datum Zeit
345678, 180801, 0945
Ich möchte aber das Datum in dieser Form haben:
01.08.2018
Ebenso die Uhrzeit als:
09:45
Alle anderen Daten aus der Messung habe ich soweit isoliert und kann sie in ein *, csv-file einlesen.
Anschließen muss ich das csv-file in Excel einlesen, um anderen Kollegen meine Daten zur Verfügung zu stellen.
Nur bei der Datumsumwandlung und der Zeitumwandlung komme ich nicht weiter.
Klar kann man das Ganze mit len() machen und dann mühsam in Excel umbasteln - ich denke, da gibt es in Python einen eleganteren Weg.
Die Anwendung der Time-Bibliothek hat mich auch nicht auf die Spur gebracht...
Für eine Idee wäre ich dankbar - vielleicht ist es ja ganz simpel....
Gruß
Tobi
Aus 6stelliger Zahl ein Datum erzeugen
replace ist nicht dafür gedacht, irgendwelche Daten zu extrahieren. Wie sehen denn Deine Ursprungsdaten aus?
Für Datumsoperationen gibt es das datetime-Modul, und darin datetime.strptime, das mit dem richtigen Formatstring Dein Problem lösen sollte. Am besten Datum und Uhrzeit als ein String parsen.
Für Datumsoperationen gibt es das datetime-Modul, und darin datetime.strptime, das mit dem richtigen Formatstring Dein Problem lösen sollte. Am besten Datum und Uhrzeit als ein String parsen.
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Das sieht doch nach ganz simplen Zeichenkettenoperationen aus‽ Ich würde das Datum übrigens in der Reihenfolge Jahr, Monat, Tag lassen, denn dann entspricht eine lexikografische Sortierung auch gleichzeitig der zeitlichen Sortierung. Und musst Du Datum und Zeit trennen? Ist doch letztlich *ein* Wert. '2018-08-01T09:45' wäre zudem eine Darstellung nach ISO8601.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Sirius3: Echt? Ich hätte vermutet das auch ein deutsches Excel da mehr durchprobiert, denn ich weiss das ein Kunde Probleme mit Adresslisten als CSV hatte in denen so etwas wie die Hausnummer 10a von seinem deutschen Excel zu 10 Uhr gemacht wurde weil es das 'a' für 'a.m.' angenommen hat. Die Vermutung hatten wir erhärtet weil bei 10p die Uhrzeit 22 Uhr heraus kam.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Da muss ich an's Python Zen denken, speziell an „In the face of ambiguity, refuse the temptation to guess”.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
- DeaD_EyE
- User
- Beiträge: 1020
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
ISO8601 sollte Excel beherrschen. Falls nicht, dann hat man ein Produkt erworben,
dass mit internationalen Standards nicht umgehen kann. Würde mich wundern, wenn Excel das nicht kann.
'2018-08-01T09:45:00'
Ist das UTC0 oder mit Zeitzone?
Das sollte man auch wissen, wenn man mit den Daten arbeitet.
'2018-08-01T09:45:00+02:00'
Hier sind dann auch die Informationen über die Zeitzone mit drin.
Die Frage ist, ob du das so benötigst.
Kannst natürlich auch Datum und Uhrzeit splitten.
Formatieren kannst du auch selbst beliebig:
Jedenfalls habe ich zwei Sachen gelernt: ISO 8601 nutzen, wo es geht. Zeitzonen sind wichtig.
Hab ich jetzt irgendwas ausgelassen? Ja, pytz ist nicht in der stdlib von Python.
Ganz wichtig: https://docs.python.org/3/library/datet ... me-objects
dass mit internationalen Standards nicht umgehen kann. Würde mich wundern, wenn Excel das nicht kann.
Code: Alles auswählen
datum = '180801'
zeit = '0945'
dt_format = '%y%m%d%H%M'
zeitpunkt = datetime.datetime.strptime(datum + zeit, dt_format)
zeitpunkt_iso8601 = zeitpunkt.isoformat()
Ist das UTC0 oder mit Zeitzone?
Das sollte man auch wissen, wenn man mit den Daten arbeitet.
Code: Alles auswählen
import pytz
berlin = pytz.timezone('Europe/Berlin')
lokal = berlin.localize(zeitpunkt)
zeitpunkt_lokal_iso8601 = lokal.isoformat()
Hier sind dann auch die Informationen über die Zeitzone mit drin.
Die Frage ist, ob du das so benötigst.
Kannst natürlich auch Datum und Uhrzeit splitten.
Code: Alles auswählen
datum = zeitpunkt.date()
zeit = zeitpunkt.time()
Code: Alles auswählen
zeitpunkt.strftime('%m/%d/%y %H:%S')
Hab ich jetzt irgendwas ausgelassen? Ja, pytz ist nicht in der stdlib von Python.
Ganz wichtig: https://docs.python.org/3/library/datet ... me-objects
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Schade das man hier keine Beiträge bewerten kann
ich würde jetzt einen Daumenhoch oder +1 geben
ich würde jetzt einen Daumenhoch oder +1 geben
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png