People who liked this post
Spoilers
Draft War Room

  • NFL LEAGUE
    • League Home
    • Power Rankings
    • Hall of Champions
  • League Forums
  • Players
    • Search
    • Draft History
    • Trades
  • Coaches
    • Search
  • Draft
    • War Room

  • Community
  • Log In
Player Eval Tool
League News/General Discussion
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ›
AlabamaTide
Re: Player Eval Tool
by AlabamaTide @ 5/10/2025 4:36 pm
I ran from my cp
AlabamaTide
Re: Player Eval Tool
by AlabamaTide @ 5/10/2025 4:41 pm
panda python and all u listed
AlabamaTide
Re: Player Eval Tool
by AlabamaTide @ 5/10/2025 4:45 pm

Download link: https://drive.google.com/file/d/1C2RJyJF0n89lmb_5DCsyuNrB-2QO-cpk/view?usp=sharing

Quick Read Me

Instructions
1. Install python and pandas if you do not have it
2. Download the python script
3. Download a CSV of players
AlabamaTide
Re: Player Eval Tool
by AlabamaTide @ 5/10/2025 4:47 pm
all in same folder
setherick
Re: Player Eval Tool
by setherick @ 5/11/2025 2:36 pm
Create a file in notepad, leave it blank, save it as

__init__.py

Make sure to change the file type to python.

Put it in the directory with the python script for the app.
AlabamaTide
Re: Player Eval Tool
by AlabamaTide @ 5/16/2025 3:32 pm
which panda version?
setherick
Re: Player Eval Tool
by setherick @ 5/16/2025 7:55 pm
The latest one should work
martinwarnett
Re: Player Eval Tool
by martinwarnett @ 3/10/2026 9:51 am
Note for anyone using this tool; it works based upon the downloaded player files being .csv files; the game now downloads as .xlsx excel files.

In addition, column names have changed; so for example MaxSpeedMax becomes maxSpeedMax, which throws things out.

The changes are thus :-

1. Change the file types allowed to allow .xslx files.
2. anywhere an attribute (is MaxSpeedMax) is present, change the attribute name.

if you want old and new, then

1. add the .xslx file type to the code, so both .csv and .xlsx
2. when loading, normalise the columns to be say all lowercase or all uppercase and change references accordingly.

I've let Seth know via PM for whenever he returns.
Last edited 3/10/2026 2:51 pm
Liked by azyoda
martinwarnett
Re: Player Eval Tool
by martinwarnett @ 3/13/2026 11:53 am
For those asking, I caveat this with I've re-structured and re-worked a lot of Seth's tool, not in any state to pass on.

For those wanting to code it, Seth put the link to the source code; you8 need to install the python programming language on your computer and an IDE to code with (or even notepad).

1. Change the file types allowed to allow .xslx files.

The line around line 244

file_path = filedialog.askopenfilename(filetypes=[("CSV Files", "*.csv")])

Needs to be changed to

file_path = filedialog.askopenfilename(filetypes=[("Excel Files", "*.xlsx"), ("CSV Files", "*.csv")])

This change means that when the file dialog opens asking you for the file to load, it allows you to select .csv or .xlsx. Files seem to be rendered as .xlsx now rather than .csv.

The line around line 249
player_df = pd.read_csv(file_path)
needs to change.

This is hard-coded to read files in .csv format.

At the top of the class file, I think (no guarantees), you need to put the following as first line under the class PlayerEvaluationApp: line :-

READERS = {
".csv": [pd.read_csv, FileType.CSV],
".xls": [pd.read_excel, FileType.EXCEL],
".xlsx": [lambda p: pd.read_excel(p, engine="openpyxl"),FileType.EXCEL],
".xlsm": [lambda p: pd.read_excel(p, engine="openpyxl"),FileType.EXCEL]
}


This defines how the data is read per file suffix.

Line 249 then becomes

path = Path(file_path)
suffix = path.suffix.lower()

reader_func, _ = READERS[suffix]
player_df = reader_func(path)


You also need to add a line to import Path, add to rest of imports.
from pathlib import Path

To normalise the column names, add a new method.
def normalize_columns(columns):
"""
Normalize column names:
- lowercase
- strip whitespace
- optionally convert spaces and special chars to underscores
"""
normalized = (
columns.str.strip() # remove leading/trailing spaces
.str.lower() # lowercase
)
return normalized


This should convert the column names to lower case. This is needed to allow you to load older .csv files or newer .xlsx files.
After the reader_func(path) method call, invoke the normalisation methos.
player_df.columns = normalize_columns(player_df.columns)

2. anywhere an attribute (is MaxSpeedMax) is present, change the attribute name.

This is the worst task. Within the self.primary_skills and self.secondary_skills parts, you've attributes like "MaxSpeedMax". You now need to change all of those to be lower case - ie maxspeedmax.

Any questions, ask a python developer not me.
martinwarnett
Re: Player Eval Tool
by martinwarnett @ 3/15/2026 4:43 am
One additional change.

Under line 249,

player_df = pd.read_csv(file_path)

add the following underneath.

player_df = player_df.replace('', 0).fillna(0)

This should avoid any problems where a blank attribute value is present rather than zero.
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ›
Copyright ©2013-2026 Catalyst Productions | Weather data powered by Visual Crossing
Game Engine Version 4.6 | Website Version cc62118
Terms & Conditions | Privacy Policy