def create_and_update_worksheets():
    """
    Add 'Player statistics' if the worksheet is not in file_name. 
    Otherwise, it will update the worksheet itself.
    """
    os.chdir(os.path.dirname(os.path.abspath(__file__)))
    writer = pd.ExcelWriter(file_name, engine='openpyxl')
    row = 0
    for item in worksheets['Game Schedule'].values():
        multiple_dfs(item, 'Game Schedule')
    for sheet in writer.sheets.values():
        resize_columns(sheet)
    writer.save()
    writer.close()
In this actual code, writer and row is already defined, but I got some error if I decide to implement multiple_dfs as : 
def multiple_dfs(item, sheets):
    """
    Put multiple dataframes into one xlsx sheet
    """
    response = send_request(item).content
    df = pd.read_csv(io.StringIO(response.decode('utf-8')))
    df.to_excel(writer, sheets, startrow=row, index=False)
    row = row + len(df) + 2
I got the following error for writer, but the same thing happened with row. 
Traceback (most recent call last):
  File "create_and_update_xlsx_sheets.py", line 66, in <module>
    create_and_update_worksheets()
  File "create_and_update_xlsx_sheets.py", line 56, in create_and_update_worksheets
    multiple_dfs(item, 'Game Schedule')
  File "create_and_update_xlsx_sheets.py", line 33, in multiple_dfs
    df.to_excel(writer, sheets, startrow=row, index=False)
NameError: name 'writer' is not defined
How could I fix those errors? I don't want to redefine them in multiple_dfs, but I will need to redefine them in future function as well.
