xlrdとxlwtパッケージ、excelドキュメントのセル内容の変更、削除、行の挿入、削除を実現
2542 ワード
xlwtは既存のexcelドキュメントを変更できません.ここでは、xlrdとxlwtに基づいて、行の挿入、削除、セルの内容の変更、セルの内容の削除など、excelドキュメントを変更する機能を実現しました.制限:xlsxファイルは開くことができますが、xlsファイルしか生成できません.数式とマクロが失われました.注意:行と列は0からカウントされます.
#coding=UTF-8
#python 3.4 3.6
#excel 2007
#author=liuyifan
#date=20171102
#xlrd 1.1
#xlwt 1.3
'''
xlrd xlwt
excel , 、 , 、 。
:
xls 。 : xlsx 。
。
:
0
'''
import xlrd
import xlwt
class Excel():
def __init__(self,file_name):
self.file=file_name
# sheet copy ,
# xlrd ,
# copy copy ,excel 。 。
def sheet_into_list(self,sheet_index=0):
sheet_list=[]
with xlrd.open_workbook(self.file) as f:
# excel sheet
table=f.sheet_by_index(sheet_index)
#
#nrows sheet
for row in range(0,table.nrows):
sheet_list.append([])
# row_len(rowx)
for col in range(0,table.ncols):
sheet_list[row].append(table.row_values(row)[col])
return sheet_list
# copy excel ,
#double_list
def list_into_sheet(self,double_list):
book=xlwt.Workbook()
# login_result sheet
sheet=book.add_sheet("result")
# sheet
for i in range(len(double_list)):
for j in range(len(double_list[i])):
sheet.write(i,j,double_list[i][j])
# excel , "login_xlsx_result.xls", ,
# .xlsx , ,
book.save("result.xls")
# excel
def copy_excel(self):
return self.list_into_sheet(self.sheet_into_list())
#
# ,
def del_row(self,row,new_file=None):
if new_file==None:
new_file=self.file
double_list=self.sheet_into_list()
book=xlwt.Workbook()
# result sheet
sheet=book.add_sheet("result")
#xlwt cell
#
for i in range(len(double_list)):
for j in range(len(double_list[i])):
if(i|