2017-11-22 4 views
-1

Ich verwende this, um Geschäftstage zu einem bestimmten Datum hinzuzufügen. es funktioniert genauso wie eine Excel-Funktion:Eine Liste von Daten in Python laden 3.6

WORKDAY(start_date,business days to add,[holidays]) 

und ich möchte es eine Liste des Urlaubs aus einer .txt Datei wie folgt zu lesen:

2017-09-18 
2017-09-19 
2017-10-09 
2017-12-25 

wie kann ich das tun? es wäre einfacher, es von einem Excel oder einem Txt zu laden. ist in Ordnung?

Vielen Dank im Voraus!

+4

Was haben Sie bisher versucht? Bitte posten Sie Ihren Code. – James

+0

von Datumzeit import DATETIME import werk Feiertage = open. ("C: \ holidays.txt") Leseleitungen() print (Feiertage) Freitag = datetime.strptime ('15. September 2017', d ‚% b% % Y ') wantedday = workdays.workday (Freitag, 1, Feiertage) drucken (Freitag) drucken (wanted_day) – Richie

+0

ich bekomme das: holidays = [x für x in den Feiertagen wenn x.weekday() nicht am Wochenende] AttributeError: 'str' Objekt hat kein Attribut 'wochentag' – Richie

Antwort

0

Dies wird von file.txt die Daten lesen. Einmal las es 5 Werktagen zu jedem Zeitpunkt hinzufügen wird:

from datetime import datetime 
from datetime import date 

business_days_to_add = 5 
holidays = [date(year=2009,month=12,day=25)] 

for line in open("file.txt"): 
    print(workday(datetime.strptime(line.strip(), "%Y-%m-%d")), business_days_to_add, holidays) 

HTH

+0

danke für Ihre Hilfe !! aber wie könnte ich in daten eine liste von zeichenfolgedaten machen? Ich schätze, als wenn ich den TXT lese, wird eine String-Liste erstellt. aber ich brauche es, um eine Datumsliste zu sein, also kann ich es in der Funktion verwenden – Richie

+0

datetime.strptime (, ) wandelt einen String in da datetime um. In meinem Code lese ich die Datei Zeile für Zeile, und für jede Zeile konvertiere ich die Zeichenfolge (mit dem Datum) in ein Datetime-Objekt. – Charlie

+0

siehe offizielle Python-Dokumentation für weitere Details: https://docs.python.org/3.6/library/datetime.html#strftime-strptime-behavior – Charlie