我正在使用 pandas 解析一个包含 20k 行数据表的 Excel 文件。到目前为止一切顺利,但我也想使用表开头上方的一小部分元数据(生成表的日期)。
目前如果我不跳过任何行:
raw = pd.read_excel(datafile, sheetname=0, parse_cols="B, D:I")
前几行只是nans:
>>> raw.values[0]
array([nan, nan, nan, nan, nan, nan, nan], dtype=object)
我可以用更基本的东西打开文件,比如 xlrd 来获取数据,但这需要将整个文件加载到内存中两次,这是我不想做的事情。
pandas 是否可以在不重新导入文件的情况下获取表开头上方的数据?
最佳答案
考虑以下方法:
xl = pd.ExcelFile(filepath)
# you may want to set a correct row and column
meta_data = xl.book.sheet_by_index(0).cell_value(0,0)
skiprows = 5 # set it accordnigly...
df = xl.parse(0, skiprows=skiprows, parse_cols="B, D:I") \
.dropna(axis=1, how='all')
关于python - Pandas 表格开始前的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44022762/