操作excel

#操作2003excel
import xlwt,xlrd
#操作2007excel
import openpyxl

def write_excel_03(path,file_name,values):
    wb = xlwt.Workbook()  #新建一个excel
    sheet = wb.add_sheet(file_name)#创建一个sheet页
    row = 0#控制行
    for value in values:
        col = 0#控制列
        for cell in value:
            sheet.write(row,col,cell)#写数据
            col+=1
        row+=1
    wb.save(path)#保存
    print('03_excel write sucessful')

def read_excel_03(path,file_name):
    print('excel_03 read start')
    wb = xlrd.open_workbook(path)#打开一个excel
    # sheets=wb.sheet_by_index(0)#根据顺序获取sheet
    ws = wb.sheet_by_name(file_name)#根据sheet名字获取sheet
    # print(ws.cell(0,0).value)#指定行列获取数据
    # print(ws.ncols)#获取sheet中有多少列
    # print(ws.nrows)#获取sheet中有多少行
    # for row in ws.get_rows():
    #     print(row)
    # print(ws.row_values(0))#获取第一行
    # print(ws.col_values(0)) # 获取第一列
    print('data in rows')
    for i in range(ws.nrows):
        print(ws.row_values(i))#获取每一行的数据
    print('data in cols')
    for j in range(ws.ncols):
        print(ws.col_values(j))#获取每一列的数据
    print('------')
    for i in range(ws.nrows):
        for j in range(ws.ncols):
            print(ws.cell_value(i,j),'\t',end='')
        print()

def write_excel_07(path,file_name,value):
    wb = openpyxl.Workbook()  #创建excel
    sheet =wb.active
    sheet.title=file_name
    for i in range(4):
        for j in range(len(value[i])):
            sheet.cell(row=i+1,column=j+1,value=str(value[i][j]))
    wb.save(path)
    print('07_excel write sucessful')

def read_excel_07(path,file_name):
    wb = openpyxl.load_workbook(path)
    #sheets = wb.get_sheet_by_name(file_name)  #过时的写法
    sheets = wb.worksheets[0]
    for row in sheets.rows:
        for cell in row:
            print(cell.value,'\t',end='')
        print()

if __name__ == '__main__':
    values = [["名称", "价格", "出版社", "语言"],
             ["python基础", "29.9", "机械工业出版社", "中文"],
             ["数据分析", "66.99", "人民邮电出版社", "中文"],
             ["机器学习", "38.88", "机械工业出版社", "中文"]]
    path_2003 ='/home/chen/projects_src/excels/2003.xls'
    path_2007 ='/home/chen/projects_src/excels/2007.xlsx'
    sheet_2003 = '2003测试表'
    sheet_2007 = '2007测试表'

    write_excel_03(path_2003,sheet_2003,values)
    read_excel_03(path_2003,sheet_2003)
    # write_excel_07(path_2007,sheet_2007,values)
    # read_excel_07(path_2007,sheet_2007)

 

posted @ 2018-05-08 19:36  Ray_chen  阅读(151)  评论(0)    收藏  举报