如何使用Polars获取含空单元格的DataFrame列列表并保留空行
解决Polars读取Excel时空单元格与空行被忽略的问题
要解决这个问题,只需调整pl.read_excel的参数配置,确保空行和空单元格被完整保留:
核心修改点
- 保留全空行:Polars默认会跳过全空行(
skip_empty_rows=True),将该参数设为False即可保留所有行,len(df)会与Excel实际行数一致。 - 保留空单元格:默认情况下空单元格会被解析为Polars的
null(对应Python的None),如果Excel中存在空格类的“假空”单元格,可通过na_values参数将其也转为null,确保to_list()时不会丢失这些值。
修改后的代码
# 基础版本:保留全空行,默认识别空单元格为null df = pl.read_excel('file.xlsx', sheet_name='sheet', skip_empty_rows=False) first_column_name = df.columns[0] first_column = df[first_column_name].to_list() # 进阶版本:同时将空格类空白单元格转为null df = pl.read_excel('file.xlsx', sheet_name='sheet', skip_empty_rows=False, na_values=['', ' ']) first_column_name = df.columns[0] first_column = df[first_column_name].to_list()
说明
执行后,first_column列表会包含所有单元格值,空单元格对应None;len(df)会返回Excel中的总行数(包括全空行)。
内容的提问来源于stack exchange,提问作者XYZ
相关产品推荐
相关产品推荐

