python操作excel——新建、写入、读取基本操作

1.openpyxl

注意事项:对应的row和column的值必须大于等于1,其中1表示第一行或者第一列,文件格式是xlsx。

import openpyxl
def operation_excel():
    # fine_tune_no()
    # 新建excel,改变sheet名字,并写入内容
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.title = 'test_sheet1'
    ws.cell(row=1, column=2).value = 1
    wb.save('test.xlsx')

    #加载excel,并创建sheet,并写入内容
    path = r'no.xlsx'
    wb = openpyxl.load_workbook(path)
    ws1 = wb.create_sheet('name')
    ws1.cell(row=1,column=2).value=3
    wb.save(path)


    # 加载excel,访问sheet,并写入内容
    wb = openpyxl.load_workbook(path)
    ws1 = wb['name']
    ws1.cell(row=1,column=2).value=4
    wb.save(path)
if __name__=='__main__':
    operation_excel()

2.xlrd和xlwt

说明:xlrd主要用来读取Excel的内容,xlwt用于写入Excel的内容。

注意事项:其中row和column的值从0开始,0表示第一行或者第一列,xlwt只能写入xls格式的Excel。

写入Excel

import xlwt
def write_excel(): #新建表格 wb = xlwt.Workbook() ws = wb.add_sheet('stock') ws.write(1, 0, u'股票代码') ws.write(1, 1, u'股票名称') ws.write(1, 2, u'股票板块') ws.write(0, 3, u'统计时间') ws2 = wb.add_sheet(u'industry') ws2.write(1, 0, u'股票板块') ws2.write(0, 1, u'统计时间') wb.save("hello.xls") if __name__ == '__main__': write_excel()

读取Excel

import xlrd

def read_excel():
    # 打开文件
    workbook = xlrd.open_workbook(r'hello.xls')
    # 获取所有sheet
    print(workbook.sheet_names())  # ['stock', 'industry']

    sheet1_name = workbook.sheet_names()[0]

    # 根据sheet索引或者名称获取sheet内容
    sheet = workbook.sheet_by_index(1)  # sheet索引从0开始
    sheet1 = workbook.sheet_by_name('stock')

    # sheet的名称,行数,列数
    print(sheet1.name, sheet1.nrows, sheet1.ncols)

    # 获取整行和整列的值(数组)
    rows = sheet1.row_values(1)  # 获取第四行内容
    cols = sheet1.col_values(2)  # 获取第三列内容
    print(rows)
    print(cols)

    # 获取单元格内容
    print(sheet1.cell(1, 0).value)
    print(sheet1.cell_value(1, 0))
    print(sheet1.row(1)[0].value)

if __name__ == '__main__':
    read_excel()