编写一个程序,翻转电子表格中行和列的单元格。例如,第 5 行第 3 列的值将 出现在第 3 行第 5 列(反之亦然)。
#! python3
#翻转表格
import openpyxl
#读取旧表格中的数据,放入一个嵌套的列表
print("loading the file...")
wb1 = openpyxl.load_workbook("F:\\python_work\\CSDN\\example.xlsx")
sheet1 = wb1.active
data_list = []
print("reading the data...")
for row in range(1, int(sheet1.max_row)+1):
data_list.append([])
for column in range(1, int(sheet1.max_column)+1):
data_list[row-1].append(sheet1.cell(row, column).value)
#新建一个表格用于存翻转后的数据
print("build a new file...")
wb2 = openpyxl.Workbook()
sheet2 = wb2.active
for row in range(1, int(sheet1.max_column)+1):
for column in range(1, int(sheet1.max_row)+1):
sheet2.cell(row, column).value = data_list[column-1][row-1] #交换行列下标进行翻转
wb2.save("F:\\python_work\\CSDN\\new_example.xlsx")