精华内容
下载资源
问答
  • python合并单元格

    2020-04-25 19:04:15
    python合并单元格,按行写数据 import xlwt def write_excel_merge_cell(headers, data, merge_lt, file_name): ''' 合并单元格 :param headers: 表头 :param data: 数据 :param merge_lt:合并单元格数据 :...

    python合并单元格,按行写数据

    import xlwt
    def write_excel_merge_cell(headers, data, merge_lt, file_name):
        '''
        合并单元格
        :param headers: 表头
        :param data: 数据
        :param merge_lt:合并单元格数据
        :param file_name: 文件名字
        :return:
        '''
    
        f = xlwt.Workbook()
        sheet1 = f.add_sheet('sheet1', cell_overwrite_ok=True)
        # 表头
        for i in range(0, len(headers)):
            sheet1.write(0, i, headers[i])
    
        # 根据单元格数据长度决定合并单元格
    
        x = 0
        y = 0
        line_len = 0
        i, j = 0, 0
        # 遍历数据
        for item in data:
    
            index = data.index(item)
    
            for j in range(len(item)):
                # 查看改行对应合并单元格的数量
                line_len = len(merge_lt[index])
    
                ss = item[j]
    
                if line_len != 0:
                    # r1:开始行 r2:结束行 c1:开始列 c2:结束列 label数据
                    sheet1.write_merge(i + 1, i + line_len, j, j, ss)
                else:
                    sheet1.write_merge(i + 1, i + 1, j, j, ss)
            x += 1
            i += line_len
            # 判断和并单元格列是否有数据
            if len(merge_lt[index]):
    
                for z in range(0, len(merge_lt[index])):
                    if len(merge_lt[index][z]):
                        for ks in merge_lt[index][z]:
                            sheet1.write(y + 1, len(item) + merge_lt[index][z].index(ks), ks)
                        y += 1
                    else:
                        y += 1
            else:
                y += 1
    
        # 保存
        file_name = file_name
        f.save(file_name)
    
    
    def main():
        # 标题
        headers = ['序号', "姓名", '列表', '1月', '2月', '3月', '4月', '5月']
        # 写入数据
        data = [['1', 'lz', 'l', 'z', 'm'], ['2', 'lz2', 'l2', 'z2', 'm2'], ['3', 'lz3', 'l3', 'z3', 'm3'],
                ['4', 'lz4', 'l4', 'z4', 'm4']]
        # 对应data数据的合并单元格数据
        merge_lt = [
            [['券优免', -100.0], ['累计专项扣除-五险一金', 22], ['累计免税收入', 33], ['累计扣个税', 33]],
            [['累计应发数', 1001], ['累计专项扣除-五险一金', 10002], ['累计免税收入', 10003]],
            [['累计应发数', 1001], ['累计专项扣除-五险一金', 10002]],
            [['累计应发数', 1001]]
        ]
    
        #文件名
        file_name = 'test6.xlsx'
        write_excel_merge_cell(headers, data, merge_lt, file_name)
    
    
    if __name__ == '__main__':
        main()
    
    展开全文
  • python 合并单元格

    千次阅读 2018-10-16 15:56:18
    使用openpyxl from openpyxl.workbook import Workbook wb = Workbook() ws = wb.active ws.merge_cells('A1:B1') wb.save(path_dst) wb.close()  

    使用openpyxl

    from openpyxl.workbook import Workbook
    
    wb = Workbook()
    ws = wb.active
    ws.merge_cells('A1:B1')
    wb.save(path_dst)
    wb.close()

     

    展开全文
  • 再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能迭代,函数参数也变了,居然可以直接...

    再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能迭代,

    函数参数也变了,居然可以直接上参数;;openpyxl=Version: 2.5.9;

    列 : worksheet.delete_cols(2, 1) 表示第二列开始,删除一列 ,行 worksheet.delete_rows(2, 1)

    worksheet.unmerge_cells(start_row=1, start_column=7, end_row=2, end_column=7)

    表示第一行开始,第二行结束, 低7列开始第七列结束, 就是把G1:G2合并的单元格给拆分了,下面的是合并单元格就不多说了

    worksheet.merge_cells(start_row=1, start_column=2, end_row=2, end_column=2)

    使用 openpyxl 库拆分已经合并的单元格;主要是使用了:

    worksheet.merged_cells获取已经合并单元格的信息;再使用worksheet.unmerge_cells()拆分单元格;

    importopenpyxl

    workbook= openpyxl.load_workbook(path) #加载已经存在的excel#workbook = openpyxl.Workbook(path)

    name_list =workbook.sheetnames#worksheet = workbook.get_sheet_by_name(name_list[0]) #最新版本已经不能使用这种方法

    worksheet =workbook[name_list[0]]

    m_list= worksheet.merged_cells #合并单元格的位置信息,可迭代对象(单个是一个"openpyxl.worksheet.cell_range.CellRange"对象),print后就是excel坐标信息

    cr =[]for m_area inm_list:#合并单元格的起始行坐标、终止行坐标。。。。,

    r1, r2, c1, c2 =m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_col#纵向合并单元格的位置信息提取出

    if r2 - r1 >0:

    cr.append((r1, r2, c1, c2))print("符合条件%s" %str(m_area))#这里注意需要把合并单元格的信息提取出再拆分

    for r incr:

    worksheet.unmerge_cells(start_row=r[0], end_row=r[1],

    start_column=r[2], end_column=r[3])

    workbook.save(path)

    再使用 worksheet.unmerge_cells()输入参数的时候,若和 worksheet.merged_cells的结果放到同一个循环;

    经常出现有些单元格拆分没有完成(实际上可以多次运行就可以完成了),我估计是再拆分单元格的时候有数据动态的改变了,

    导致(再执行m_area.min_row时)m_list中的"openpyxl.worksheet.cell_range.CellRange"对象动态获取值时发生了改变;

    只好把位置信息提取出,再调用;后面我测试过m_list对象deepcopy一份就可以了;

    from copy importdeepcopy

    l=deepcopy(m_list)for m_area inl:#合并单元格的起始行坐标、终止行坐标。。。。,

    r1, r2, c1, c2 =m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_colif r2 - r1 >0:

    worksheet.unmerge_cells(start_row=r1, end_row=r2,

    start_column=c1, end_column=c2)

    展开全文
  • colspan属性用在td标签中,用来指定单元格横向跨越的列数:在浏览器中将显示如下:单元格1单元格2单元格3单元格4该例通过把colspan设为“3”, 令所在单元格横跨了三列。如果我们将colspan设为“2”,则该单元格将只...

    colspan和rowspan这两个属性用于创建特殊的表格。

    colspan是“column span(跨列)”的缩写。colspan属性用在td标签中,用来指定单元格横向跨越的列数:

    在浏览器中将显示如下:

    单元格1

    单元格2单元格3单元格4

    该例通过把colspan设为“3”, 令所在单元格横跨了三列。如果我们将colspan设为“2”,则该单元格将只跨越两列,于是有必要在第一行插入另外一个单元格,以确保两行占据相同的列数。

    该例在浏览器中将显示如下:

    单元格1单元格2

    单元格3单元格4单元格5

    rowspan的作用是指定单元格纵向跨越的行数。

    浏览器中将显示如下:

    单元格1单元格2

    单元格3

    单元格4

    上例中的单元格1,其rowspan被设为“3”,这表示该单元格必须跨越三行(本身一行,加上另外两行)。因此,单元格1和单元格2在同一行,而单元格3和单元格4形成独立的两行。

    综合实例

    ss

    ss

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 想用Python做个合并单元格的操作,具体是这样的效果[img=https://img-bbs.csdn.net/upload/201808/02/1533189423_361540.png][/img] 我是先用Pandas筛选合并了三个Excel的文件,但是to_excel出来的没有合并单元格,...
  • python合并单元格出现问题

    千次阅读 2013-10-08 21:02:18
    我要在excle中我要合并(0,0),(1,0)这两个单元格应该怎么写? 下面的写法ws.write_merge(0, 1, 0, 0, u"序号", style)报错AssertionError: 0  解决方法: 在 Python安装目录\lib\site-packages\...
  • 出现这种错误一般都是在用方法:ws.merge_cells() 合并单元格后,直接给单元格赋值导致的。 经过我的不断尝试,发现在合并单元格的初始位置赋值就不会出现问题。 比如以下代码: from openpyxl import Workbook wb =...
  • python openpyxl 合并单元格

    千次阅读 2020-01-06 19:34:26
    合并/取消合并单元格 合并单元格时,除左上角以外的所有单元格都将从工作表中删除。为了携带合并单元格的边界信息,合并单元格的边界单元格被创建为MergeCells,其值始终为None。有关格式化合并单元格的信息,请...
  • python 处理合并单元格

    万次阅读 2018-02-04 13:46:19
    python 读取excel合并单元格 并将合并单元格的数据填充 代码如下: #找出合并单元格的数据 full_file_path指传入的表格的路径  def enter(self,full_file_path):  try:  data = xlrd.open_workbook(full_...
  • python3合并单元格

    千次阅读 2019-10-08 21:20:37
    python3合并单元格 workbook = xlwt.Workbook() #构造一个新的表格 ws = workbook.add_sheet('A sheet2',cell_overwrite_ok=True) for i in range(df_result.shape[0]): for j in range(df_result.shape[1]): # 在...
  • import pandas as pd data = pd.read_excel(r'C:/Users/14369/Desktop/博文markdown版/测试数据结果.xls') data.columns data.fillna(method='ffill',inplace=True) data.to_excel(r'C:/Users/14369/Desktop/博文...
  • python使用xlwt形成合并单元格的excel并且读取合并单元格的excel 在日常数据报表数据处理中,经常会遇到看某个大类下面每个小类的各自的情况,此时形成的合并一些单元格作为表头的excel。在excel中,手动合并...
  • 经常使用Excel的用户都知道,合并单元格的存在,这篇文章主要给大家介绍了关于利用Python如何批量合并有合并单元格的Excel文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习...
  • 利用Python实现Excel合并单元格

    千次阅读 2020-07-01 10:10:54
    利用Python实现Excel合并单元格 最近在工作中需要批量处理一些Excel文件,为了更直观的展示数据,需要对Excel中的单元格进行合并处理。因为一直使用Pandas实现Excel读写操作,而Pandas无法将单元格进行合并,利用...
  • Python处理excel合并单元格

    万次阅读 2019-03-08 18:53:17
    读取 可以使用xlrd,也可以...xlrd也遇到了一点问题,文件如果是xls文件直接打开,在提取合并单元格的时候会拿不到数据,需要加上 formatting_info=True,formatting_info=True的时候打开.xlsx文件会报错NotImple...
  • xlwt模块详解--合并单元格 import xlwtworkbook = xlwt.Workbook()worksheet = workbook.add_sheet('My sheet')# 合并第0行的第0列到第3列。worksheet.write_merge(0, 0, 0, 3, 'First Merge')font = xlwt.Font()...
  • 合并单元格 操作方法: 1.使用xlrd自带属性:merged_cells # 获取表格中所有合并单元格位置,以列表形式返回 (起始行,结束行,起始列,结束列) merged = sheet.merged_cells #结果:[(1,5,0,1),(5,9,0,1)] 2....
  • 在Excel的数据分析中,是切记不要合并单元格的,这可能会导致不能排序等一些列问题。而我为了表格好看,在工作的前几天就入了这种坑。那我们以下面的数据为例,看看如何取消单元格合并。03 Python解决 ① 利用...
  • python 读写excel(合并单元格

    千次阅读 2020-03-19 16:52:09
    文章目录读 Excel 合并单元格内容读取合并单元格的内容写 Excel 写入时合并单元格 读 Excel 合并单元格内容 以下主要是演示读取日期类型数据 # -*- coding: utf-8 -*- import xlrd import xlwt from datetime ...
  • ![图片说明](https://img-ask.csdn.net/upload/202008/13/1597317945_734276.png) !... 利用docx处理word中表格,在处理合并单元格报错。 但是,在删除图2中红色框内的单元格内容后,可以正常运行。
  • python 合并内容相同单元格

    千次阅读 2019-11-02 17:50:57
    客户这边,其中有一个如同上图所示的 sheet,然而需求是,需要将这张表第一列(一级部)数据相同内容做合并单元格处理,结果如下: 代码分享如下: from openpyxl import load_workbook """合并单元格""" ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 441
精华内容 176
关键字:

python合并单元格

python 订阅