用python怎么实现多个excel自动两列位置对调?

使用Python开发微软的Excel通常需要使用第三方库,如xlrd、xlwt、xlutils、xlwings、win32com、openpyxl、pandas等,各种第三方库都有自己独特的功能和缺陷,因此在采用这些第三方库之前需要慎重考虑。

下面介绍的Excel实例采用openpyxl库实现了将一个Excel文件的工作簿内容根据规则拆分到多个Excel文件的工作簿中,此实例的编写环境为PyCharm x64和Python 3.8。

此实例主要通过使用Python语言的字典来实现根据特定的分类原则将一个工作簿(的工作表数据)拆分成多个工作簿(的工作表数据)。当运行此实例的Python代码(A309.py文件)之后,将根据录取院校把“录取表.xlsx”文件的录取表数据拆分到到各个录取院校工作簿(各个Excel文件)中,效果分别如图1和图2所示。

#读取“录取表.xlsx”文件

#从录取表(myRange)的第4行开始循环(到最后一行)

#在新工作表(myNewSheet)中添加表头(录取院校、专业、考生姓名、总分)

#在新工作表(myNewSheet)中添加键名(录取院校)下的多个键值(考生)

#保存拆分之后(各个录取院校)的工作簿(myNewBook),或者说保存各个Excel文件

上面这段代码在A309\A309.py文件中。在这段代码中,字典(myDict)的作用就是以“录取院校”作为键名,在该键名下添加键值(即添加录取院校录取的多个考生),从而实现对所有考生进行归类。在此案例中,当字典(myDict)添加了考生以后,其保存的考生内容如下:

在创建多个工作簿时,则根据键名(录取院校)在每个工作簿的活动工作表中直接添加该键名(录取院校)的所有键值(即录取院校录取的多个考生),最后将每个工作簿保存为Excel文件。在此案例中,myDict[myRow[0]]=[myRow]也可以写成myDict.update({myRow[0]: [myRow]})。

此文档内容根据清华大学出版社出版的图书《Python辅助Word+Excel:让办公更高效》 的“003 使用字典拆分多个工作簿”改写,内容略有变动。

关注微信公众号,后台回复关键词 “openpyxl库” 即可获得完整源代码。

问题描述+解决方案+真实源码+效果截图

优化数据分析,让工作省点力!

告别重复劳动,蜕变职场精英!

本书以 “问题描述+解决方案”的模式,通过300余个案例分别介绍使用Python代码批量处理Excel和Word的技术亮点。

在第一部分的Python实战Excel案例中,主要介绍使用Python代码将多个工作表拼接成一个工作表;使用列表推导式累加多个工作表;使用对称差集方法筛选工作表;将一维工作表转换为二维工作表;使用插入行方法制作工资条;根据指定字符将单列拆分为多列;使用字典对工作表的数据分类求和;根据工作表的数据创建3D饼图、3D条形图、3D面积图、圆环图、柱形图、雷达图、气泡图、折线图、股票图等。

在第二部分的Python实战Word案例中,主要介绍使用Python代码自定义Word文件的段落、块、节、样式、表格、图像等。通过本书案例的学习,读者不仅可以体验Python语言的精妙之处,还能对采用Python代码批量处理Excel文件和Word文件产生全新的认知。

本书适合作为Python程序员、数据分析师、营销人员、管理人员、科研人员、教师、学生等各类人士进行数据分析和办公事务处理的案头参考书,无论是初学者还是专业人士,本书都极具参考和收藏价值。

001批量创建空白的Excel文件

002批量创建非空白的Excel文件

003使用字典拆分多个工作簿

004使用嵌套字典拆分多个工作簿

005在工作簿中创建空白工作表

006根据指定位置创建空白工作表

007在工作簿中复制多个工作表

008在工作簿中根据表名删除工作表

009在工作簿中根据位置删除工作表

010自定义活动工作表的表名

011自定义所有工作表的表名

012自定义工作表的表名背景颜色

013设置修改工作表的保护密码

014在指定位置插入多个空白行

015在工作表的末尾添加新行

016在起始为空的工作表中添加数据

017在起始为空的工作表中计算数据

018在工作表中移动指定范围的数据

019将筛选结果添加到新建的工作表

020将汇总结果添加到新建的工作表

021将一个工作表拆分成多个工作表

022将多个工作表拼接成一个工作表

023使用列表操作符拼接两个工作表

024使用列表推导式累加多个工作表

025使用集合方法拼接两个工作表

026使用集合方法拼接多个工作表

027使用集合方法筛选两个工作表

028使用对称差集方法筛选工作表

029使用列表关键字筛选两个工作表

030使用filter函数转换二维工作表

031使用zip函数转换一维工作表

032使用map函数转换一维工作表

033使用rows属性获取工作表的所有行

035使用起止行号获取指定范围的行

036根据行号获取该行的所有单元格

037根据起止行号隐藏指定范围的行

038自定义工作表指定行的高度

039使用交错颜色设置行的背景

040根据特定要求对每行数据求和

041使用列表推导式对多行数据求和

042使用插入行方法制作工资条

043在指定位置连续删除多行数据

044使用集合随机删除一行数据

045根据指定条件删除多行数据

046在工作表中删除所有重复的行

047使用行参数随机排列工作表

048倒序排列工作表的所有数据

049根据首列数据升序排列工作表

050根据指定列数据升序排列工作表

051根据指定列数据降序排列工作表

052根据字符串长度倒序排列工作表

053使用集合实现随机排列工作表

054根据间隔行数正序筛选所有行

055根据间隔行数倒序筛选所有行

056使用max函数筛选最大值所在的行

057使用关键字筛选符合条件的行

058使用列表设置条件对行进行筛选

059使用或运算组合条件对行进行筛选

060使用与运算组合条件对行进行筛选

061使用集合对行进行随机筛选

062使用交集方法筛选多个工作表的行

063使用集合推导式对行进行筛选

064使用集合在多行多列中筛选数据

065使用columns获取工作表的所有列

067使用行列起止编号指定数据范围

068使用起止列号获取指定范围的列

069根据列号获取该列的所有单元格

070根据起止列号隐藏指定范围的列

071冻结指定单元格之前的行和列

072将数字列号转换为字母列号

073将字母列号转换为数字列号

074自定义工作表指定列的宽度

075根据字符串的最大长度设置列宽

076使用交错颜色设置列的背景

077在指定位置插入多个空白列

078在指定位置连续删除多列数据

079使用切片方法将一列拆分为两列

080根据指定字符将一列拆分为两列

081根据指定字符将一列拆分为多列

082根据不同字符将一列拆分为多列

083使用join方法将多列拼接为一列

084将指定列的数据插入其他列

085使用zip函数实现按列对数据求和

086使用列表推导式实现按列对数据求和

087使用列表推导式实现对多列数据求和

088使用列表推导式获取列的最大值

089根据单列数据计算其他列数据

090根据多列数据计算其他列数据

091使用字典推导式交换两列的数据

092使用shuffle方法随机排列多列数据

093使用values属性获取所有单元格数据

094使用value属性读写指定单元格数据

095使用cell方法在单元格中写入数据

096在每行的末尾单元格中写入数据

097在单元格中写入计算平均值公式

098在复制单元格时禁止复制公式

099在单元格中自定义货币格式

100在单元格中自定义日期格式

101在单元格中自定义时间格式

102在单元格的数据上添加删除线

103在单元格的数据上添加双下画线

104自定义在单元格中的文本颜色

105根据多个参数创建自定义字体

106在单元格中实现垂直居中内容

107在单元格中实现靠右对齐内容

108在单元格中根据角度旋转内容

109在单元格中自动换行超长内容

110使用指定颜色设置单元格的背景

111使用渐变色设置单元格的背景

112使用网格线设置单元格的背景

113使用细实线设置单元格的背景

114使用斜纹线设置单元格的背景

115使用粗实线设置单元格的边框

116使用预置表格样式设置单元格

117在单元格中将单行内容拆为多行

118根据指定的参数合并多个单元格

119将合并单元格拆分为多个单元格

120拆分工作表的所有合并单元格

121清除工作表的所有合并单元格

122在单元格中添加过滤器过滤数据

123在多个单元格中替换指定的内容

124在多个单元格中删除指定的内容

125统计相同内容在单元格中的次数

126统计部分内容在单元格中的次数

127根据次数重复单元格的部分内容

128解析在单元格中的身份证日期信息

129使用集合比较单元格的无序内容

130使用集合删除单元格的重复内容

131使用列表删除单元格的重复内容

132使用字典对单元格数据分类求和

133使用sum函数计算单元格的分类合计

134计算多个单元格的分类平均值

135在多个单元格中分类筛选最大值

136在多个单元格中分类筛选最小值

137使用map函数规范在单元格中的单词

138在包含空白的单元格中使用map函数

139在指定的单元格中添加批注

140在指定的单元格中添加图像

141将图像缩放之后添加到单元格

142将图像旋转之后添加到单元格

143将图像裁剪之后添加到单元格

144将图像拼接之后添加到单元格

145将图像水平镜像后添加到单元格

146将图像垂直镜像后添加到单元格

147将图像黑白转换后添加到单元格

148将图像模糊处理后添加到单元格

149调整图像对比度并添加到单元格

150调整图像亮度并添加到单元格

151调整图像色度并添加到单元格

152调整图像锐度并添加到单元格

153根据索引删除在单元格中的图像

154创建工作表及关联的饼图

155根据工作表数据创建饼图

156自定义饼图及图例的宽度

157自定义饼图及图例的样式

158自定义饼图的图例位置

159自定义饼图(本身)的大小

160自定义饼图(本身)的位置

161自定义饼图切片的填充颜色

162在饼图切片中不设置填充颜色

163使用网格填充饼图的指定切片

164在饼图的切片上显示百分比

165在饼图的切片上显示数值

166自定义饼图切片的文字大小

167在饼图中创建凸出显示的切片

168根据工作表的数据创建3D饼图

169使用独立饼图投影饼图小切片

170使用独立条形图投影饼图小切片

171使用未填充的切片创建扇形图

172根据工作表的数据创建圆环图

173在圆环图中自定义内孔的大小

174自定义圆环图首个切片的位置

175在圆环图中创建凸出显示的切片

176根据多列数据创建嵌套圆环图

177根据工作表的数据创建柱形图

178自定义柱形图各个柱子的样式

179在柱形图中创建点状样式的柱子

180在柱形图中创建水平条纹的柱子

181在柱形图中指定柱子的填充样式

182自定义柱形图柱子的填充颜色

183自定义柱形图柱子的边框颜色

184在柱形图的柱子顶端添加数值

185自定义柱形图柱子的字体大小

186根据工作表的行数据创建柱形图

187根据工作表多列数据创建柱形图

188根据工作表数据创建堆叠柱形图

189根据比例创建百分比堆叠柱形图

190根据工作表数据创建3D柱形图

191自定义3D柱形图的样式

192根据多列数据创建堆叠3D柱形图

193创建百分比风格的堆叠3D柱形图

194根据工作表的数据创建3D条形图

195根据多列数据创建堆叠3D条形图

196使用深度复制方法创建3D条形图

197根据工作表的数据创建折线图

198禁止在折线图中绘制默认的图例

199自定义折线图的折线及背景样式

200自定义折线图的折线颜色和宽度

201在折线图中使用虚线绘制折线

202在折线图的数据点上绘制图形符号

203在折线图中禁止绘制默认的折线

204自定义折线图数据点的图形符号

205在折线图的各个数据点上添加数值

206在折线图中禁止绘制y轴主刻度线

207在折线图的右端绘制y轴的刻度值

208在折线图的右端绘制y轴及刻度值

209自定义折线图的x轴和y轴标题

210自定义折线图x轴的日期格式

211自定义折线图x轴的时间格式

212在折线图的顶部绘制x轴及标签

213自定义折线图x轴的标签字体

214降序绘制折线图x轴的标签刻度

215自定义折线图坐标轴的最大值

216根据工作表数据创建多条折线图

217根据工作表数据创建堆叠折线图

218根据比例创建百分比堆叠折线图

219根据工作表的数据创建3D折线图

220根据工作表的数据创建面积图

221根据工作表的数据创建3D面积图

222根据随机数创建工作表及散点图

223根据工作表的数据创建雷达图

224根据工作表的多列数据创建雷达图

225根据最高价和最低价创建股票图

226根据开盘价和收盘价创建股票图

227自定义参数改变股票图线框宽度

228根据交易价和成交量创建股票图

229根据工作表的多列数据创建气泡图

230在Word文件的末尾追加段落

231在Word文件的段前插入段落

232在Word文件中删除指定段落

233在Word文件中调整段落位置

234在段落的段前和段后设置间距

235在段落中使用英寸设置行间距

236在段落中使用磅数设置行间距

237禁止指定段落分散在两个页面

238强制两个段落在同一页面中

239在指定段落之前强制执行分页

240自定义指定段落的对齐样式

241自定义指定段落的缩进尺寸

242自定义段落首行的缩进尺寸

243在指定段落中实现悬挂缩进

244在添加段落时设置段落样式

245在Word文件中删除指定样式

246在段落的样式属性中设置字体

247在段落的样式属性中设置颜色

248使用样式改变多个段落的字体

249使用样式改变多个段落的高亮颜色

250使用样式改变多个段落的首行缩进

251使用正则表达式查找样式名称

252在指定段落中实现替换文本

253在所有段落中实现替换文本

254在指定段落末尾添加新块

255在块与块之间添加行中断

256在块与块之间添加页中断

257根据文本内容隐藏指定块

258自定义指定块的高亮颜色

259自定义指定块的文本颜色

260使用主题颜色设置块的文本

261使用已有样式设置块的样式

262使用中文字体设置块的字体

263在块中实现镂空效果的文本

264在块中实现雕刻效果的文本

265在块中设置粗斜体样式的文本

266在块中设置扁平样式的文本

267在块的文本底部添加波浪线

268在块的文本底部添加点线

269在块的文本底部添加虚线

270在块的文本底部添加点画线

271在块的文本底部添加下画线

272自定义块的文本下画线颜色

273在块中逐字添加独立下画线

274在块的文本中部添加删除线

275在块的文本四周添加线框

276在块的文本底部添加着重号

277在块中创建上标样式的文本

278在块中自定义字符之间的间距

279在段落中大写每个单词首字母

280在块中强制大写每个英文字母

281以小号字体大写块的英文字母

282在段落末尾的块中创建超链接

283在超链接文本的底部添加点线

284设置超链接文本和下画线的颜色

285将Word文件的图像保存为文件

286在Word文件的末尾添加图像

287自定义Word文件的图像尺寸

288在Word文件的块中添加图像

289在Word文件的段前插入图像

290居中对齐Word文件的单个图像

291分散对齐Word文件的多个图像

292在Word文件中创建折叠标题

293在Word文件中创建多级标题

294设置标题在水平方向的对齐样式

295在Word文件中创建无序列表

296在无序列表左端设置缩进距离

297在Word文件中创建有序列表

298在Word文件中添加标题样式

299在Word文件中添加副标题样式

300在Word文件中添加引用样式

301在Word文件中添加明显引用样式

302在Word文件的末尾添加表格

303在Word文件中删除指定表格

304在Word文件的表格中添加新行

305在Word文件的表格中添加新列

306在Word文件的表格中添加图像

307自定义Word文件的表格行高

308自定义Word文件的表格列宽

309自定义Word文件的表格边框

310自定义Word文件的表格字体

311自定义Word文件的表格样式

312自定义Word文件的表格对齐方式

313自定义表格的单元格边框颜色

314自定义表格的单元格边框粗细

315自定义表格的单元格背景颜色

316自定义表格的单元格文本颜色

317设置单元格文本的水平对齐方式

318设置单元格图像的垂直对齐方式

319设置图像与单元格的右上角对齐

320设置单元格的多个图像分散对齐

321在表格中合并多个连续的单元格

322根据行号删除在表格中的行

323根据列号删除在表格中的列

324根据条件删除在表格中的行

325根据条件删除在表格中的列

326根据条件筛选在表格中的行

327按行对多个单元格的数据求和

328按列对多个单元格的数据求和

329在Word文件中创建多个节

330强制从偶数页开始创建每个节

331在Word文件的节中添加页眉

332在Word文件的节中添加分区页眉

333在指定节中自定义偶数页的页眉

334在指定节中自定义首页的页眉

335自定义指定节的页眉与边缘的距离

336在Word文件的节中添加页脚

337在Word文件的节中添加分区页脚

338在指定节中自定义偶数页的页脚

339在指定节中自定义首页的页脚

340自定义指定节的页脚与边缘的距离

341自定义指定节页面的左右边距

342自定义指定节页面的纸张大小

343强制两节的内容出现在同一页面中

344强制指定的节从奇数页开始

345在Word文件的页面上添加线框

346设置Word文件的页面背景颜色

347自定义Word文件的作者等信息

  • 微信小程序游戏开发│猜数字小游戏(附源码+视频)

  • Flink编程基础│Scala编程初级实践

  • 数 据分析实战│客户价值分析

  • 数据分析实战│价格预测挑战

  • 数据分析实战│时间序列预测

}

Python封装成exe后 如果对excel在新的行写入数据 会造成程序报错

}

Python对Excel按列值筛选并拆分表格到多个文件的代码

场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。

本文利用Python的pandas包实现了以上场景。

注:本示例代码只实现按单列拆分,如果需要多列筛选拆分,请修改本示例中的filter_column_name与city_name_to_list,并多套一层循环。

包含多个sheet的Excel 需要按列筛选出来另存为其它文件

#将该列去重后保存为list

#不需要筛选的sheet名

#如果是两列筛选,在此处多套上一层循环

#如果是多列筛选,请修改代码使用多维list进行循环遍历

#如果是两列筛选,在此处添加一行代码

以上所述是小编给大家介绍的Python对Excel按列值筛选并拆分表格到多个文件的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

}

我要回帖

更多关于 python处理excel实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信