07国际象棋对局MultDiGraph多路图可视化
顺便记录一下获取WCC.csv文件
-
获取数据
点击官网链接下载文件“chess_masters_WCC.pgn.bz2”。
-
处理得到.csv文件
import bz2
import chess.pgn
import pandas as pd
# Step 1: 解压缩`.bz2`文件
input_file = 'chess_masters_WCC.pgn.bz2'
output_file = 'chess_masters_WCC.pgn'
with bz2.open(input_file, 'rb') as f_in:
with open(output_file, 'wb') as f_out:
f_out.write(f_in.read())
# Step 2: 解析`.pgn`文件
pgn_file = output_file
games = []
with open(pgn_file) as f:
while True:
game = chess.pgn.read_game(f)
if game is None:
break
moves = " ".join(str(move) for move in game.mainline_moves())
game_data = {
'Event': game.headers.get('Event', ''),
'Site': game.headers.get('Site', ''),
'Date': game.headers.get('Date', ''),
'EventDate': game.headers.get('EventDate', ''),
'ECO': game.headers.get('ECO', ''),
'Round': game.headers.get('Round', ''),
'White': game.headers.get('White', ''),
'Black': game.headers.get('Black', ''),
'Result': game.headers.get('Result', ''),
'Moves': moves
}
games.append(game_data)
df = pd.DataFrame(games)
# Step 3: 保存为`.csv`文件
csv_output_file = 'chess_masters_WCC.csv'
df.to_csv(csv_output_file, index=False)
3. 分享该csv文件
下载文件chess_masters_WCC.csv提取码:al2x