Sie sind auf Seite 1von 2

Hier ist das Gleiche: start_date_report:

#!/usr/bin/env python3
CSV importieren
Datum/Uhrzeit importieren
Importanfragen

FILE_URL=" https://raw.githubusercontent.com/google/it-cert-automation-
practice/master/Course4/Lab4/employees-with-date.csv "

def get_start_date():
„“„Erhalten Sie interaktiv das Startdatum, nach dem abgefragt werden soll.“““

drucken()
print('Erstes abzufragendes Startdatum abrufen.') print()
print('Das Datum muss nach dem 1. Januar 2018 liegen') year = input('Geben Sie einen Wert für das Jahr
ein: ')
Monat = Eingabe('Geben Sie einen Wert für den Monat ein: ') Tag = Eingabe('Geben Sie einen Wert für
den Tag ein: ') print()

return datetime.datetime(int(year), int(month), int(day))

def get_file_lines(url):
„““Gibt die in der Datei unter der angegebenen URL enthaltenen Zeilen zurück““

# Laden Sie die Datei über das Internet herunter


Antwort = request.get(url, stream=True)

# Dekodiere alle Zeilen in Zeichenfolgen. Zeilen = []


für Zeile in Response.iter_lines():
lines.append(line.decode("UTF-8"))
Rücklaufleitungen

my_data = get_file_lines(FILE_URL)

def get_same_or_newer(start_date):
"""Gibt die Mitarbeiter zurück, die am angegebenen Datum angefangen haben, oder den
nächstgelegenen.""" data = get_file_lines(FILE_URL)
reader = csv.reader(data[1:])
lista = list(reader)
lista.sort(key=lambda x: x[3])

# Wir wollen alle Mitarbeiter, die zum gleichen Datum angefangen haben oder die nächst jünger sind
# Datum. Um das zu berechnen, gehen wir alle Daten durch und finden die
# Mitarbeiter, die am kleinsten Datum angefangen haben, das gleich oder größer ist
# das angegebene Startdatum.
min_date = ()
min_date_employees = [] für Zeile im Reader:
row_date = datetime.datetime.strptime(row[3], '%Y-%m-%d')

# Wenn dieses Datum kleiner ist als das gesuchte,

# Wir überspringen diese Zeile


wenn row_date < start_date: fortfahren

# Wenn dieses Datum kleiner als das aktuelle Minimum ist,


# Wir wählen es als neues Minimum und setzen die Liste zurück
# Mitarbeiter zum Mindesttermin.
wenn row_date < min_date: min_date = row_date min_date_employees = []

# Wenn dieses Datum mit dem aktuellen Mindestdatum übereinstimmt,


# Wir fügen den Mitarbeiter in dieser Zeile zur Liste hinzu
# Mitarbeiter zum Mindesttermin.
wenn row_date == min_date:
min_date_employees.append("{} {}".format(row[0], row[1]))

Geben Sie min_date, min_date_employees zurück

def list_newer(start_date):
während start_date < ():
start_date, Mitarbeiter = get_same_or_newer(start_date)
print("Gestartet am {}: {}".format(start_date.strftime("%b %d, %Y"), Mitarbeiter))

# Verschieben Sie nun das Datum auf das nächste


start_date = start_date + datetime.timedelta(days=1)
def main():
start_date = get_start_date()
list_newer(start_date)

if __name__ == "__main__":
hauptsächlich()
Geben Sie hier eine Nachricht ein...

Das könnte Ihnen auch gefallen