Mit dem obigen Beitrag habe ich den Zeitplan für die J League erhalten, daher möchte ich ihn nutzen. Wenn Sie es in die Kalender-App importieren können, die Sie jeden Tag verwenden, können Sie sich die Mühe ersparen, es einzeln einzugeben. Deshalb Erstellen Sie eine Datei in einem Format, das in Google Kalender importiert werden kann.
sample.ics
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;TZID=Asia/Tokyo:20200223T130000
DTEND;TZID=Asia/Tokyo:20200223T150000
SUMMARY;LANGUAGE=jp-JP:Abschnitt 1 Tag 3 FC Tokio
DESCRIPTION;LANGUAGE=jp-JP:Anstoß:13:00\n
Stadion: Aista\n
Verein:http://www.fctokyo.co.jp/\n
JAL:https://www.jal.co.jp/\n
ANA:https://www.ana.co.jp/\n
END:VEVENT
END:VCALENDAR
BEGIN: VCALENDAR VERSION: 2.0
besteht aus der Kopfzeile und END: VCALENDAR
besteht aus der Fußzeile.; LANGUAGE = jp-JP
an.DESCRIPTION
in mehrere Zeilen teilen möchten, fügen Sie am Ende der Zeile \ n
hinzu. In Bezug auf den Inhalt werden im Beispiel zwei Fluggesellschaften hinzugefügt, aber es wäre praktisch, wenn es Informationen zum Unterkunftsservice und zum Stadionstandort gäbe.schedule_all.py
import datetime
import pandas as pd
# 'https://data.j-league.or.jp/'Holen Sie sich aus dem Zeitplan Ergebnis von
data = pd.read_csv('./csv/Game_Schedule_2020.csv', sep=',', encoding='utf-8')
schedule_all.py
#Bereiten Sie eine lokale Datei vor, in der die Adressen der HP des Clubs erfasst werden
club = pd.read_csv('./csv/master_club_2020.csv', sep=',', encoding='utf-8')
Wir haben unsere eigenen Daten vorbereitet, um die Adressen der Vereine, gegen die wir spielen, in die detaillierten Daten aufzunehmen.
schedule_all.py
yyyy = 2020
#Geben Sie den Teamnamen an, den Sie extrahieren möchten
team = data[(data['Zuhause'] == 'Teamname') | (data['Weg'] == 'Teamname')]
Ändern Sie den "Teamnamen" in den Teamnamen, den Sie erhalten möchten.
schedule_all.py
#Erstellen Sie eine feste Zeichenfolge
header = (r'BEGIN:VCALENDAR' + '\n'
r'VERSION:2.0' + '\n')
footer = (r'END:VCALENDAR')
info = (' JAL:https://www.jal.co.jp/\\n\n'
' ANA:https://www.ana.co.jp/\\n')
timezone = ';TZID=Asia/Tokyo'
language = ';LANGUAGE=jp-JP'
Erstellen Sie die Zeichenfolgen, aus denen die Vorlage besteht.
schedule_all.py
schedule_all = []
for i in range(len(team)):
if team['KO Zeit'].iloc[i] == '● Unentschlossen ●':
break
#Erstellen Sie die folgenden Elemente für jeden Abschnitt aus bestimmten Teamdaten
# start_datetime, end_datetime, section, home or away team, kick_off, stadium, club HP
tmp_date = team['Spieltag'].iloc[i]
tmp_date = str(yyyy) + '/' + tmp_date[:5]
start_time = team['KO Zeit'].iloc[i]
tmp_date_time = tmp_date + ' ' + start_time + ':00'
tmp_dtstart = datetime.datetime.strptime(tmp_date_time, '%Y/%m/%d %H:%M:%S')
tmp_dtend = tmp_dtstart + datetime.timedelta(hours=2)
# start_datetime
dtstart = tmp_dtstart.strftime('%Y%m%dT%H%M%S')
# end_datetime
dtend = tmp_dtend.strftime('%Y%m%dT%H%M%S')
# section
sec = team['Sektion'].iloc[i]
# team name
team_name = team['Weg'].iloc[i] if team['Zuhause'].iloc[i] == 'Teamname' else team['Zuhause'].iloc[i]
# kick off
kickoff = str(team['KO Zeit'].iloc[i])
# stadium
stadium = team['Stadion'].iloc[i]
# club HP
club_url = club[club['Abkürzung'] == team_name]['Offizielle Website-URL']
#Erstellen Sie aus knotenbasierten Daten eine Zeichenfolge im iCalender-Format.
begin = 'BEGIN:VEVENT'
dstart = 'DTSTART' + timezone + ':' + dtstart
dend = 'DTEND' + timezone + ':' + dtend
summary = 'SUMMARY' + language + ':' + sec + ' ' + team_name
description1 = r'DESCRIPTION' + language + ':' + 'Anstoß:' + kickoff + '\\n'
description2 = r'Stadion:' + stadium + '\\n'
description3 = r'Verein:' + club_url.values[0] + '\\n\n' + info
end = 'END:VEVENT' + '\n'
#Listen Sie die abschnittsweisen Daten auf
contents = [begin, dstart, dend, summary, description1, description2, description3, end]
schedule_all.append(contents)
sched_all
hinzuschedule_all.py
#Erstellen einer Kalenderdatei
path = './csv/schedule_all_2020.ics'
with open(path, mode='a', encoding='utf-8') as f:
f.write(header)
for s in schedule_all:
f.write('\n'.join(s))
f.write(footer)
Durchlaufen Sie abschließend die abschnittsweise Liste, um eine Textdatei zu erstellen. (* Zur Erläuterung ist es in einen Schleifenprozess zum Erstellen von Abschnittsdaten und einen Schleifenprozess zum Erstellen einer Textdatei unterteilt.)
Recommended Posts