return_val was assigned from DataFrame(data_list).to_csv() before the
player data row was appended to data_list, so the CSV response contained
only the header row. Moved the to_csv() call to after the append.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>