Fetch and append player statistics to an Excel spreadsheet
As we can see these piece of code is repeated:

response = send_request('2017-2018-regular', value).content
df1 = pd.DataFrame(['Title'])
df2 = pd.read_csv(io.StringIO(response.decode('utf-8')))

df1.to_excel(writer, key, startrow=start_row, header=None, \
                     index=False)
df2.to_excel(writer, key, startrow=start_row+2, index=False)


you can define a function for it, it works like this:

def create_and_update_worksheets():
    def less_repetitive(value, start_row):
        response = send_request('2017-2018-regular', value).content
        df1 = pd.DataFrame(['Title'])
        df2 = pd.read_csv(io.StringIO(response.decode('utf-8')))

        df1.to_excel(writer, key, startrow=start_row, header=None, \
                     index=False)
        df2.to_excel(writer, key, startrow=start_row+2, index=False)
    ...
    for key, value in worksheets:
        ...
        if isinstance(value, tuple):
            for subkey, subvalue in value:
                less_repetitive(subvalue, start_row)
                start_row += len(df2) + 4
        else:
            less_repetitive(subvalue, start_row)
    ...


Another solution is change the value in worksheets to be all tuple, but I am not sure if it works. As you didn't use the subkey, in such situation those value is not tuple now, can be changed to (('', value))

and as you don't need use subkey just replace it with _
code works like this:

def create_and_update_worksheets():
    ...
    for key, value in worksheets:
        ...
        if not isinstance(value, tuple):
            value = (('',value))

        for _, subvalue in value:
            response = send_request('2017-2018-regular', subvalue).content
            df1 = pd.DataFrame(['Title'])
            df2 = pd.read_csv(io.StringIO(response.decode('utf-8')))

            df1.to_excel(writer, key, startrow=start_row, header=None, \
                     index=False)
            df2.to_excel(writer, key, startrow=start_row+2, index=False)
            start_row += len(df2) + 4

    ...