Wie kann ich alle auswählen des sonntags für ein Jahr mit Python?
Mit Python...
Wie kann ich wählen Sie alle der Sonntag (oder jeden Tag für diese Angelegenheit) in einem Jahr?
[ '01/03/2010','01/10/2010','01/17/2010','01/24/2010', ...]
Diese Daten repräsentieren den Sonntagen für das Jahr 2010. Dies könnte auch gelten für jeden Tag der Woche nehme ich an.
- Finden am ersten Sonntag und ständig hinzufügen 7? Bis Sie auf die Grenze an Tagen für diesen Monat, dann startet bei 0 ...
- Siehe auch die sehr ähnliche Frage von der gleichen person: stackoverflow.com/questions/2003841/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
date
von derdatetime
Modul zu finden, der erste Sonntag im Jahr und dann halten das hinzufügen von sieben Tagen, generieren neue sonntags:timedelta(days = (5 - d.weekday() + 7) % 7)
. Oder, mehr explizittimedelta(days = (5 - d.weekday() if d.weekday() <= 5 else 7 + 5 - d.weekday()))
Mithilfe der dateutil-Modul, Sie könnten erzeugen der Liste auf diese Weise:
Obwohl finden alle Sonn -, ist nicht allzu schwer zu tun, ohne dateutil, das Modul ist praktisch, vor allem wenn Sie komplizierter oder abwechslungsreiche Datum Berechnungen.
Wenn Sie mit Debian/Ubuntu, dateutil ist durch die python-dateutil-Paket.
Können Sie Durchlaufen einen Kalender für das Jahr.
Die unten sollten wieder alle dienstags und donnerstags für ein bestimmtes Jahr.
Pandas hat große Funktionalität für diesen Zweck mit seinen
date_range
Funktion.Das Ergebnis ist ein pandas
DatetimeIndex
, aber konvertiert werden kann eine Liste einfach.mit list comprehension:
Hier ist eine komplette generator-Funktion baut auf der Lösung von @sth. Es enthält die entscheidende Korrektur, die erwähnt wurde, in seiner Lösung die Kommentare.
Können Sie den Tag der Woche (mit Python Indizierung mit 0=Montag bis 6=Sonntag), das Eintrittsdatum und die Anzahl der Wochen auflisten.
Beispiel für die Verwendung zu bekommen, jeden Mittwoch ab dem 1. Januar 2018, für 10 Wochen.
Den oben genannten code erzeugt: