自动填充被拆分的单元格
这个是我从网上学来+自己改良的,非常有效。
本人运维,经常从数据库读取数据,有的导出的时候是这个样子的:
但是由于只要拆分单元格以后就只有第一个格有数据,我就会不停复制黏贴。
自己写了一个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])
写起来真的非常简单——全是调用现成的接口。
问题:丢失所有格式。
会增加一列数字列。
好处:这是最快的、
自动填充被拆分的单元格相关推荐
- 使用xlwings如何使用UnMerge() 方法取消合并单元格之后,多出来的单元格自动填充为第一个单元格的值?...
首先,需要确保你已经安装了 xlwings 库并且已经在你的代码中导入了它. 然后,你可以使用 xlwings 库中的 Range 对象的 unmerge() 方法来取消合并单元格.示例代码如下: i ...
- 使用pandas如何在Excel里面取消合并单元格?多出来的单元格如何自动填充为第一个单元格的值?...
首先,如果你希望使用 pandas 在 Excel 中取消合并单元格,你可以使用 pandas 的 unmerge_cells() 方法. 例如,假设你有一个名为 df 的 DataFrame,你可以 ...
- python自动填写excel_Python:根据前面单元格中的公式自动填充Excel中的单元格
使用Python和win32com: 我在Excel文件中有一个公式,在单元格A5:A54.我试着用同样公式的值填充A55:A61单元格.我在网上搜索发现: http://pythonexcels.c ...
- 日常一记(8)--拆分合并单元格并快速填充
系列文章目录 文章目录 系列文章目录 前言 一.需求描述 二.实现方法: 1.公式一: 2.方法二: 总结 前言 一.需求描述 快速拆分合并单元格,并填充为每个单元格第一行内容: 二.实现方法: 1. ...
- Excel表格自动筛选时显示合并单元格中全部记录的方法
今天给单位一个分公司导数据,因为报表是全司的,如何导成某一个分公司的呢? 1.复制合并单元格所在的A列到其他空白列,如本例中的列的E2:E18,这样做的目的是保留合并单元格的大小和样式. 2.选择A2 ...
- 单元格内多个姓名拆分成一列_excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!...
excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!,这个问题是我们很多人都很困惑的一个问题,excel单元格拆分是我们非常常用的一个东西,也是我们工作和学习中必不可少的一个数据公式,那么具体 ...
- python 拆分excel工作表_使用python拆分excel单元格方法
在使用python语言时,利用openpyxl库操作excel,可以用来拆分excel单元格.那么,如何拆分单元格呢? 工具/原料 python pycharm openpyxl 截图工具 WPS 笔 ...
- 学习Python处理Excel 难度1级别 多表合并、数据透视表、拆分合并单元格并获得一维表
#本代码要点:多表合并.数据透视表.拆分合并单元格并获得一维表 #主题:各门店合并,计算各店当月回店做服务2次+的客人数量 #EXCEL工作表:存在合并单元格 #备注: import pandas a ...
- 【EasyExcel】EasyExcel列表填充数据时指定单元格合并
EasyExcel列表填充数据时指定单元格合并 package com.susing.security.handler;import com.alibaba.excel.metadata.CellDa ...
最新文章
- ubuntu子系统重置
- let 和 var 的区别
- 【图像处理】图像内插“最近邻插值 最近邻内插法(Nearest Neighbour Interpolate)”代码演示(调整图像大小、放大、缩小)
- 关于Apahce服务器安装中遇到的问题
- Lucene的一些基本使用方法和概念 (JAVA)
- 天池竞赛-津南数字制造算法挑战赛【赛场二】解决方案分享
- 计算机专业买r7000,2020年双十一有哪些游戏本值得买-7千到1万游戏本排行
- hdu 2141 Can you find it(二分)
- JavaScript 类型的隐式转换
- python动态类型的坑_在Python中避免动态类型错误的策略是什么(NoneType没有属性x)?...
- 如何在Java中将集合转换为列表
- SSH项目搭建-01-使用idea创建Maven工程
- pcap文件linux怎么打开,pcap文件用什么打开
- SpringBoot系列: Pebble模板引擎语法介绍
- Wireguard 全互联模式(full mesh)权威指南
- 邮件中的抄送和密送的区别
- 分享七个超好用的免费工具网站,每一个都是神器!
- 修改MFC程序的图标
- java怎么弹出页面_java怎么样实现弹出窗口
- 获取股票历史数据——数据采集(1)