提示:使用openpyxl来操作excel,这样还不会更改单元格字体、大小等属性。先找出excel中所有合并单元格信息,再拆分,删除列后,再将这些单元格合并,但合并时要注意坐标要改变了。
from copy import deepcopy
import openpyxl
import os
import warnings
warnings.filterwarnings('ignore')
m_list = ws.merged_cells
cr = []
for m_area in m_list:
r1, r2, c1, c2 = m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_col
cr.append((r1, r2, c1, c2))
for row in ws.iter_rows(min_row=1, max_row=100, min_col=1, max_col=8):
for cell in row:
if cell.value == '区县':
val = cell.coordinate
a = cell.column
merge_cr = deepcopy(cr)
for r in cr:
ws.unmerge_cells(start_row=r[0], end_row=r[1], start_column=r[2], end_column=r[3])
ws.delete_cols(a)
for r in merge_cr:
if a < r[3] and r[2] - 1 > 1:
ws.merge_cells(start_row=r[0], end_row=r[1], start_column=r[2] - 1, end_column=r[3] - 1)
elif a < r[3] and r[2] - 1 < 1:
ws.merge_cells(start_row=r[0], end_row=r[1], start_column=r[2], end_column=r[3] - 1)
elif r[2] < a and r[3] < a:
ws.merge_cells(start_row=r[0], end_row=r[1], start_column=r[2], end_column=r[3])
最终结果仅将“区县”这一列删除,其他单元格任何属性都没有影响。
昨天帮朋友忙,需求是删除excel的某一列,而该列被包含在合并单元格中。我以为弄个dataframe多简单的事情,没想到啊,还是经验少。使用pandas读成dataframe再删除时,发现因为删除的列中的某几行是合并单元格的状态,导致结果不符合期望结果。因为使用的是dataframe,输出为新的excel文件时,单元格字体、大小等属性都和原本的excel表格不一致。...
说明:原本想将多列变为一列,以便后续的可视化处理,但是合并后出现这样的错位
原本试图通过pandas的cancat()方法中的参数解决,但是没有效果。
pandas的cancat()方法参数解释,参见《pandas数据合并与重塑(pd.concat篇)》,链接: link.
既然参数中找不到解决问题的原因,我就又重新复习了一遍cancat()方法。
原本以为是excel文件索引的问题,即假设:第一个
java poi对Excel表格进行单元行删除
前几天工作时,突然需要去使用POI 来对Excel 表格进行操作,其他的操作都都没什么问题,但是在需要删除某些单元行的时候碰到了一下小坑,记录下来,防止以后忘记。
一般使用POI删除单元行有两种方法
一种只删除单元行中的内容,不删除单元行
即 sheet.remove(row); //sheet即取得的工作表,row表示要具体删除的行
这个方法...
首先,如果你希望使用 pandas 在 Excel 中取消合并单元格,你可以使用 pandas 的 unmerge_cells() 方法。
例如,假设你有一个名为 df 的 DataFrame,你可以使用以下代码来取消合并单元格:
df.unmerge_cells('A1:C3')
这将取消合并单元格 A1:C3。
要填充多出来的单元格,你可以使用 pandas 的 fillna() 方法。 ...
要按列合并单元格,可以使用Excel中的“合并和居中”功能。具体步骤如下:
1.选中要合并的单元格所在的列。
2.点击“开始”选项卡中的“合并和居中”按钮。
3.在弹出的下拉菜单中选择“向下合并”选项。
4.完成后,选中的单元格将会被合并成一个单元格,内容也会自动合并在一起。
另外,如果要使用公式合并单元格,可以使用“&”符号连接单元格内容,例如“=A1&B1&C1”可以将A1、B1、C1三个单元格的内容合并在一起。需要注意的是,使用公式合并单元格时,合并后的单元格无法再次拆分。