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_allschedule_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