题主发现的问题如果还是一下子读取,可以尝试根据一楼回答修改下代码就可以做到不全部读取了。
代码中主动指定sheetname,不用pd.ExcelFile读取方式获取sheetname就可以运行以下函数了。
import os
import pandas as pd
HERE = os.path.abspath(os.path.dirname(__file__))
DATA_DIR = os.path.abspath(os.path.join(HERE, '..', 'data'))
def make_df_from_excel(file_name, nrows):
"""Read from an Excel file in chunks and make a single DataFrame.
Parameters
----------
file_name : str
nrows : int
Number of rows to read at a time. These Excel files are too big,
so we can't read all rows in one go.
"""
file_path = os.path.abspath(os.path.join(DATA_DIR, file_name))
# 源代码注释掉以下这一段
#xl = pd.ExcelFile(file_path)
## In this case, there was only a single Worksheet in the Workbook.
#sheetname = xl.sheet_names[0]