Avec le post ci-dessus, j'ai eu le calendrier de la J League, alors j'aimerais en profiter. Si vous pouvez l'importer dans l'application de calendrier que vous utilisez tous les jours, vous pouvez vous éviter de l'entrer un par un. Donc Créez un fichier dans un format qui peut être importé dans Google Agenda.
sample.ics
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;TZID=Asia/Tokyo:20200223T130000
DTEND;TZID=Asia/Tokyo:20200223T150000
SUMMARY;LANGUAGE=jp-JP:Section 1 Jour 3 FC Tokyo
DESCRIPTION;LANGUAGE=jp-JP:démarrer:13:00\n
Stade: Aista\n
club: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
se compose de la ligne d'en-tête et ʻEND: VCALENDAR` se compose de la ligne de pied de page.BEGIN: VEVENT
et ʻEND: VEVENT`. S'il y a plusieurs éléments, ce processus sera nécessaire.DTSTART:
heure de début, DTEND:
heure de fin et heure est % Y% m% dT% H% M% S
. Exemple: 20200223T130000; TZID = Asia / Tokyo
.; LANGUAGE = jp-JP
.DESCRIPTION
, ajoutez \ n
à la fin de la ligne. En ce qui concerne le contenu, deux compagnies aériennes sont ajoutées dans l'exemple, mais ce serait pratique s'il y avait des informations sur le service d'hébergement et l'emplacement du stade.schedule_all.py
import datetime
import pandas as pd
# 'https://data.j-league.or.jp/'Obtenir à partir du résultat du calendrier de
data = pd.read_csv('./csv/Game_Schedule_2020.csv', sep=',', encoding='utf-8')
schedule_all.py
#Préparez un fichier local qui recueille les adresses du club HP
club = pd.read_csv('./csv/master_club_2020.csv', sep=',', encoding='utf-8')
Nous avons préparé nos propres données pour inclure les adresses des clubs contre lesquels nous jouons dans les données détaillées.
schedule_all.py
yyyy = 2020
#Spécifiez le nom de l'équipe que vous souhaitez extraire
team = data[(data['domicile'] == 'Nom de l'équipe') | (data['Une façon'] == 'Nom de l'équipe')]
Remplacez le "nom de l'équipe" par le nom de l'équipe que vous souhaitez obtenir.
schedule_all.py
#Créer une chaîne fixe
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'
Créez les chaînes qui composent le modèle.
schedule_all.py
schedule_all = []
for i in range(len(team)):
if team['Temps KO'].iloc[i] == '● Indécis ●':
break
#Créez les éléments suivants pour chaque section à partir de données d'équipe spécifiques
# start_datetime, end_datetime, section, home or away team, kick_off, stadium, club HP
tmp_date = team['Jour de match'].iloc[i]
tmp_date = str(yyyy) + '/' + tmp_date[:5]
start_time = team['Temps KO'].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['section'].iloc[i]
# team name
team_name = team['Une façon'].iloc[i] if team['domicile'].iloc[i] == 'Nom de l'équipe' else team['domicile'].iloc[i]
# kick off
kickoff = str(team['Temps KO'].iloc[i])
# stadium
stadium = team['Stade'].iloc[i]
# club HP
club_url = club[club['Abréviation'] == team_name]['URL du site officiel']
#Créez une chaîne au format iCalender à partir de données basées sur des nœuds.
begin = 'BEGIN:VEVENT'
dstart = 'DTSTART' + timezone + ':' + dtstart
dend = 'DTEND' + timezone + ':' + dtend
summary = 'SUMMARY' + language + ':' + sec + ' ' + team_name
description1 = r'DESCRIPTION' + language + ':' + 'démarrer:' + kickoff + '\\n'
description2 = r'Stade:' + stadium + '\\n'
description3 = r'club:' + club_url.values[0] + '\\n\n' + info
end = 'END:VEVENT' + '\n'
#Liste des données section par section
contents = [begin, dstart, dend, summary, description1, description2, description3, end]
schedule_all.append(contents)
datetime.timedelta (heures = 2)
schedule_all
schedule_all.py
#Créer un fichier de calendrier
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)
Enfin, parcourez la liste section par section pour créer un fichier texte. (* Par souci d'explication, il est divisé en un processus en boucle pour créer des données de section et un processus en boucle pour créer un fichier texte.)
Recommended Posts