Pandas将带合并单元格的Excel导出为CSV并补全空单元格实现方案
解决方案
你只需要在读取Excel数据后增加按列向前填充的逻辑,即可补全合并单元格对应的空值,完整可运行代码如下:
import pandas as pd import openpyxl in_xls = 'excel01.xlsx' sheet = 'Arkusz1' with pd.ExcelFile(in_xls, engine="openpyxl") as ex: # 若需要保留原文件中逗号作为小数点的文本格式,可增加dtype=str参数 excel = pd.read_excel(ex, sheet, header=None) # 按列向下填充空值,匹配合并单元格取值规则 excel = excel.ffill(axis=0) # 导出CSV,encoding=utf-8-sig可避免Windows下用Excel打开乱码 excel.to_csv('excel_out.csv', index=False, encoding='utf-8-sig')
参数说明
ffill(axis=0):按列向下遍历,每遇到空值就用该列上一个非空值填充,完全适配跨行合并单元格的空值补全需求- 如果你需要保留原文件里
5,80这类带逗号的数值格式,可在read_excel中增加dtype=str参数,同时在to_csv中增加decimal=','参数
内容的提问来源于stack exchange,提问作者TMask
相关产品推荐
相关产品推荐

