在python中利用openpyxl模块,将excel工作簿中所有工作表横向翻转

之前有编写过一小段将.csv文件进行横向翻转的代码,现在遇到了更复杂的情况,稍微学习openpyxl模块后写了解决方案

from openpyxl import Workbook, load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
import pandas as pd'''
脚本使用openpyxl模块将一个excel工作簿内的所有工作表进行完全横向翻转
'''# 待处理对象文件名
filename = 'filename.xlsx'
# 导入原工作簿
wb1 = load_workbook(filename)
# 新建工作簿
wb2 = Workbook()
sheet_names = wb1.sheetnames
for i in range(len(sheet_names)):name = sheet_names[i]sheet = wb1[name]# -----sheet转为dataframe并翻转-----columns_num = len(list(sheet.columns))  # 读取列数df = pd.DataFrame(sheet.values)df = df.sort_index(axis=1, ascending=False)  # 按列标签进行降序排列# -----创建新表,dataframe写入sheet-----ws = wb2.create_sheet(name)for row in dataframe_to_rows(df, index=False, header=False):ws.append(row)
# 删除初始的worksheet
wb2.remove(wb2['Sheet'])
wb2.save(filename)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部