这个是我从网上学来+自己改良的,非常有效。

本人运维,经常从数据库读取数据,有的导出的时候是这个样子的:
但是由于只要拆分单元格以后就只有第一个格有数据,我就会不停复制黏贴。

自己写了一个VBA,但是各种 问题。

最后,尝试好几种方法,解决了这个问题。

首先,全选单元格。然后单元格格式——拆分单元格。

所有单元格直接被拆开,只有第一格有数据。

然后。
编辑——定位——定位所有空单元格。

然后,选择第一格单元格(假设是A2),输入‘=A1’。

CRTL+回车,全部选中。

然后所有的单元格都被填满了。

(所有非空单元格不变,所有空单元格都复制上一个单元格,就相当于自动填充)

选中所有有填充行的单元格,复制——选择性黏贴——仅数据。
这样数据就不是=AXX单元格,而是不会变动的数据了。

NB。

之前一下午一天才能忙完的事情,现在只需要七八分钟了。
但是还是有一定的问题:
一个表还是65535个数据,多的会截断。但是TXT或者csv可以无视这个限制。
第二个,是区域大概最多几千range(就是A1:B5算一个,A1单独也算一个),多了会提示过多。
我之前有个表不规则的数据有几万条,分成好几次处理的。
第三个,要到列表下面,只要有空行就会填充,而我之前生成的数据后面有三行的空行……
原因不明,可能有空数据。

还是数据库NB,EXCEL真的太逊了,五十万条数据都要分成十个表。

——————————————————————————
增加内容:
用pandas。

import os
#导入这两个包会导致文件变成300M
import numpy
import pandas as pd
from read_excel import *
from write_excel import *
#这是源文件夹
root='f:\\k1\\'
#这是目的文件夹
to_dir='f\\k1\\'excel_fill()

read_excel.py

import os
import xlrd
import pandas as pddef get_sheet(file):get_file=xlrd.open_workbook(file)sheet=get_file.sheet_names()#这个函数的作用是去除空表格sheetlist=[]for i in range(len(sheet)):data=get_file.sheet_by_index(i)if data.nrows!=0:sheetlist.append(sheet[i])#这个是个列表,而不是一个字符串return sheetlistdef get_xls(root='f:\\k1\\'):file = os.listdir(root)file_ = []for i in range(0, len(file)):# print(file[i])if file[i].find('.xls') != -1:file_.append(root + file[i])file = file_#print(file)return filedef get_sheet_in_dir(root='f:\\k1\\'):list=[]files=get_xls(root)for file in files:sheetlist=get_sheet(file)for j in range(len(sheetlist)):list.append([file,j,sheetlist[j]])return list#print(get_sheet_in_dir())
def read_sheet(file_index_sheet):file,index,sheet=file_index_sheetdata=pd.read_excel(file,index=index)#print(data)return data

write_excel.py

from read_excel import *
def change_name(sheet,root='f:\\k1\\',dir='f:\\k1\\'):sheet[0]=sheet[0].replace('.xlsx',"")sheet[0] = sheet[0].replace('.xls', "")sheet[0]=sheet[0].replace(root,dir)+sheet[2]+".xls"return sheetdef excel_to_excel(root='f:\\k1\\'):sheets = get_sheet_in_dir(root)print(sheets)for sheet in sheets:data = read_sheet(sheet)#去除所有值都是NULL的行data=data.dropna(axis=0,how='all')# print(type(data))sheet = change_name(sheet)data.to_excel(sheet[0])
def excel_fill(root='f:\\k1\\'):sheets = get_sheet_in_dir(root)for sheet in sheets:data =read_sheet(sheet)data = data.dropna(axis=0, how='all')data=data.fillna(method='ffill',axis=0)sheet=change_name(sheet)data.to_excel(sheet[0])

写起来真的非常简单——全是调用现成的接口。
问题:丢失所有格式。
会增加一列数字列。
好处:这是最快的、

自动填充被拆分的单元格相关推荐

  1. 使用xlwings如何使用UnMerge() 方法取消合并单元格之后,多出来的单元格自动填充为第一个单元格的值?...

    首先,需要确保你已经安装了 xlwings 库并且已经在你的代码中导入了它. 然后,你可以使用 xlwings 库中的 Range 对象的 unmerge() 方法来取消合并单元格.示例代码如下: i ...

  2. 使用pandas如何在Excel里面取消合并单元格?多出来的单元格如何自动填充为第一个单元格的值?...

    首先,如果你希望使用 pandas 在 Excel 中取消合并单元格,你可以使用 pandas 的 unmerge_cells() 方法. 例如,假设你有一个名为 df 的 DataFrame,你可以 ...

  3. python自动填写excel_Python:根据前面单元格中的公式自动填充Excel中的单元格

    使用Python和win32com: 我在Excel文件中有一个公式,在单元格A5:A54.我试着用同样公式的值填充A55:A61单元格.我在网上搜索发现: http://pythonexcels.c ...

  4. 日常一记(8)--拆分合并单元格并快速填充

    系列文章目录 文章目录 系列文章目录 前言 一.需求描述 二.实现方法: 1.公式一: 2.方法二: 总结 前言 一.需求描述 快速拆分合并单元格,并填充为每个单元格第一行内容: 二.实现方法: 1. ...

  5. Excel表格自动筛选时显示合并单元格中全部记录的方法

    今天给单位一个分公司导数据,因为报表是全司的,如何导成某一个分公司的呢? 1.复制合并单元格所在的A列到其他空白列,如本例中的列的E2:E18,这样做的目的是保留合并单元格的大小和样式. 2.选择A2 ...

  6. 单元格内多个姓名拆分成一列_excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!...

    excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!,这个问题是我们很多人都很困惑的一个问题,excel单元格拆分是我们非常常用的一个东西,也是我们工作和学习中必不可少的一个数据公式,那么具体 ...

  7. python 拆分excel工作表_使用python拆分excel单元格方法

    在使用python语言时,利用openpyxl库操作excel,可以用来拆分excel单元格.那么,如何拆分单元格呢? 工具/原料 python pycharm openpyxl 截图工具 WPS 笔 ...

  8. 学习Python处理Excel 难度1级别 多表合并、数据透视表、拆分合并单元格并获得一维表

    #本代码要点:多表合并.数据透视表.拆分合并单元格并获得一维表 #主题:各门店合并,计算各店当月回店做服务2次+的客人数量 #EXCEL工作表:存在合并单元格 #备注: import pandas a ...

  9. 【EasyExcel】EasyExcel列表填充数据时指定单元格合并

    EasyExcel列表填充数据时指定单元格合并 package com.susing.security.handler;import com.alibaba.excel.metadata.CellDa ...

最新文章

  1. ubuntu子系统重置
  2. let 和 var 的区别
  3. 【图像处理】图像内插“最近邻插值 最近邻内插法(Nearest Neighbour Interpolate)”代码演示(调整图像大小、放大、缩小)
  4. 关于Apahce服务器安装中遇到的问题
  5. Lucene的一些基本使用方法和概念 (JAVA)
  6. 天池竞赛-津南数字制造算法挑战赛【赛场二】解决方案分享
  7. 计算机专业买r7000,2020年双十一有哪些游戏本值得买-7千到1万游戏本排行
  8. hdu 2141 Can you find it(二分)
  9. JavaScript 类型的隐式转换
  10. python动态类型的坑_在Python中避免动态类型错误的策略是什么(NoneType没有属性x)?...
  11. 如何在Java中将集合转换为列表
  12. SSH项目搭建-01-使用idea创建Maven工程
  13. pcap文件linux怎么打开,pcap文件用什么打开
  14. SpringBoot系列: Pebble模板引擎语法介绍
  15. Wireguard 全互联模式(full mesh)权威指南
  16. 邮件中的抄送和密送的区别
  17. 分享七个超好用的免费工具网站,每一个都是神器!
  18. 修改MFC程序的图标
  19. java怎么弹出页面_java怎么样实现弹出窗口
  20. 获取股票历史数据——数据采集(1)

热门文章

  1. 半导体行业岗位选择及专业匹配度规划
  2. 【前端技巧】文本内容单行省略及多行省略
  3. 简明 Vim 练级攻略(转自酷壳)
  4. Landsat8遥感影像批量分割(Arcmap实现)
  5. KITTI数据集下载(百度云)
  6. vscode中编写代码时tab键不能用
  7. 旷视研究院获 IROS 2021 The HILTI SLAM 挑战赛冠军
  8. with root cause 解决办法
  9. cmake添加查找目录_CMake如何查找库路径(一)
  10. linux-vimdiff,diff,patch,cmp:文件比较