首页 > 解决方案 > openpyxl dataframe_to_rows 停止对 NaN 的行处理?

问题描述

很简单,我的代码看起来像这样

wb = Workbook()
sheet = wb.active

df = load_data_from_sql(SQL_QUERY)

for row in dataframe_to_rows(df, index=False, header=True):
    sheet.append(row)

我的 SQL 查询的结果 df 看起来像这样

name, birthday, favorite_color
'john', '1993-08-02', 'red'
'chris', NaN, 'blue'
'steven', '1993-04-11', 'orange'

写入工作簿时最终发生的事情是john被写入,然后chris被写入到生日列 - 然后对其余行的处理完全停止并且 steven 永远不会被写入。

暂时,我一直在处理它的方式只是做类似的事情df.fillna('NaN')。这是处理这个问题的正确方法吗?或者在将数据帧调用到行时,openpyxl 是否应该正确处理 NaN 值?

标签: pythonexcelpandasopenpyxl

解决方案


推荐阅读