Code
from datavolley import read_dv
import pandas as pd
Code
import urllib.request
datavolleyfile="&stuttgart-schwerin-2018.dvw"
url_source_file = "https://raw.githubusercontent.com/openvolley/ovva/master/inst/extdata/demo/%26stuttgart-schwerin-2018.dvw"
source = urllib.request.urlopen(url_source_file).read().decode('UTF-8')
# Scrittura dei dati in un file locale
with open(datavolleyfile, 'w') as file:
    file.write(source)
Code
# change this if you have your file
datavolleyfile="&stuttgart-schwerin-2018.dvw"
# Reading the file
dvf = read_dv.DataVolley(datavolleyfile)
# extract all the actions
plays = dvf.get_plays()
Code
championship = dvf.match_info.championship.values[0]
match_day = dvf.match_info.day.values[0]
match_time = dvf.match_info.time.values[0]
match_season = dvf.match_info.season.values[0]
Code
total_minutes = dvf.sets_info.duration.sum()
hours = total_minutes // 60
minutes = total_minutes % 60
Code
string_sets = ""
duraton_sets = ""
for idx, row in dvf.sets_info.iterrows():
   string_sets += "(" + str(row["home4"]) + "-" + str(row["visitor4"]) + ") "
   duraton_sets += str(row["duration"]) + "',"
Code
duration_sets = duraton_sets.rstrip(",")
Code
print("""
%s - %s
%s
%s - %s 
%s-%s %s
duration: %s:%sh (%s)
""" % (match_day, match_time, championship, dvf.home_team, 
       dvf.visiting_team, dvf.home_setswon, dvf.visiting_setswon,
       string_sets,str(hours).zfill(2), str(minutes).zfill(2), duration_sets))

26/12/2023 - 17.00.00
Serie A1 Femminile
Wash4green Pinerolo - HONDA OLIVERO S.BERNARDO CUNEO 
2-3 (25-20) (13-25) (25-23) (22-25) (15-17) 
duration: 02:06h (27',22',29',26',22')
Code
print(dvf.home_team)
print("name\tname")
players = dvf.players_home
players['player_number'] = pd.to_numeric(players['player_number'], errors='coerce')
players = players.sort_values("player_number")
plays = dvf.get_plays()
for idx, row in players.iterrows():
    player_number = row["player_number"]
    player_name = row['player_name'].rstrip()
    player_id = row['player_id']
    points = plays[(plays.player_id == player_id) & plays.skill.isin(['Attack', 'Serve','Block']) & (plays.evaluation_code == "#")].shape[0]
    errors = plays[(plays.player_id == player_id) & plays.skill.isin(['Attack', 'Reception','Dig','Set','Block']) & (plays.evaluation_code == "=")].shape[0]
    print("""%s\t%s (%i,%i)""" % (player_number,player_name, points, errors))
print("coaches")
print(" " + dvf.home_coaches[0])
print(" " + dvf.home_coaches[1])
print("\nin parentheses: number of points, number of errors")
Wash4green Pinerolo
name    name
1   Indre Sorokaite (18,9)
2   Francesca Cosi (0,2)
3   Carlotta Cambi (0,5)
4   Giada Di Mario (0,5)
5   Tessa Polder (2,5)
8   Silvia Bussoli (0,0)
9   Matilde Rostagno (0,0)
10  Ilenia Moro (0,4)
11  Maja Storck (16,8)
12  Letizia Camera (0,1)
13  Anett Nemeth (4,1)
18  Yasmina Akrari (12,9)
19  Adelina Ungureanu (29,8)
coaches
 Marchiaro Michele
 Naddeo Alberto

in parentheses: number of points, number of errors
Code
dvf.home_coaches[0]
'Marchiaro Michele'
Code
print(dvf.visiting_team)
print("name\tname")
players = dvf.players_visiting
players['player_number'] = pd.to_numeric(players['player_number'], errors='coerce')
players = players.sort_values("player_number")
plays = dvf.get_plays()
for idx, row in players.iterrows():
    player_number = row["player_number"]
    player_name = row['player_name'].rstrip()
    player_id = row['player_id']
    points = plays[(plays.player_id == player_id) & plays.skill.isin(['Attack', 'Serve','Block']) & (plays.evaluation_code == "#")].shape[0]
    errors = plays[(plays.player_id == player_id) & plays.skill.isin(['Attack', 'Reception','Dig','Set','Block']) & (plays.evaluation_code == "=")].shape[0]
    print("""%s\t%s (%i,%i)""" % (player_number,player_name, points, errors))
print("coaches")
print(" " + dvf.visiting_coaches[0])
print(" " + dvf.visiting_coaches[1])
print("\nin parentheses: number of points, number of errors")
HONDA OLIVERO S.BERNARDO CUNEO
name    name
2   Francesca Scola (0,0)
4   Saly Thior (0,0)
5   Alice Tanase (0,0)
6   Federica Ferrario (0,5)
7   Amandha Sylves (13,8)
8   Lena Stigrot (17,10)
9   Anna Adelusi (7,6)
10  Madison Kubik (19,6)
12  Terry Ruth Enweonwu (6,11)
13  Noemi Signorile (3,2)
14  Anna Hall (15,2)
15  Serena Scognamillo (0,0)
17  Anna Haak (2,1)
21  Beatrice Molinaro (0,0)
coaches
 Bellano Massimo
 Aime Emanuele

in parentheses: number of points, number of errors