所以我有一个xls文件,有一些奇怪的风格,但我无能为力,所以我只需要解析它
如你所见,我有一些合并的单元格。我要做的是填充合并单元格(“ffill”)的空值,但同时保持空单元格的原样
像这样的
EIM, C,NI1 Enescu_Ioan, EIM, S,NI11,Enescu_Ioan
EIM, C,NI1 Enescu_Ioan, Empty
EIM, C,NI1 Enescu_Ioan EIM, S,NI11,Enescu_Ioan
EIM, C,NI1,Enescu_Ioan Empty
我现在加载文件的方式是这样的
xl = pd.ExcelFile("data/file.xls")
df = xl.parse(0, header=None)
我也试着像这样打开文件并访问合并的单元格,但是我得到了一个空列表
book = xlrd.open_workbook("data/file.xls")
book.sheet_by_index(0).merged_cells # This is empty []
我有没有办法做到这一点?谢谢
编辑
关于这个问题可能会有一些困惑,所以我会尽量解释得更好。附加图像是较大文件的子集,其中列可能以不同的顺序出现。我试图实现的是一种区分合并单元格NAN值(在合并单元格中,只有第一列有值,其余都是NAN)和空单元格NAN的方法
设法找到了解决办法
一些重要的功能是打开excel文件,将formatting_info设置为True,以便同时读取格式,如合并单元格和fill_merged_na函数,该函数仅填充合并的nan值,但保留初始空单元格不变
如果执行
df = pd.read_excel('path')
操作,数据帧就是这样的现在,填充合并单元格第一个条目中的值:
并使用
pandas.DataFrame.replace
更改带有空格的NaN
:例如:
相关问题 更多 >
编程相关推荐