python操作Excel文件(二)写入数据(三种方式)

一、xlwt

尽量不适用xlwt包写入,因为它最多能支持65536行数据,如果写入过多会报错 但还是可以看一下的代码:

在没有该文件下创建该文件,不要在打开该文件时进行写入操作,否则出错。 如果原来就存在文件,写入之后原来的数据会丢失。 如果原来的文件是xlsx类型的,使用xlwt可能得改成xls类型
# 1. 导入模块
import xlwt
def write_excel():
    # 2. 创建Excel工作薄
    myWorkbook = xlwt.Workbook()
    # 3. 添加Excel工作表
    mySheet = myWorkbook.add_sheet(A Test Sheet)
    # 4. 写入数据
    mySheet.write(2, 0, 1)  # 写入A3,数值等于1
    mySheet.write(2, 1, 1)  # 写入B3,数值等于1
    mySheet.write(2, 2, xlwt.Formula("A3+B3"))  # 写入C3,数值等于(A3+B3)
    # 5. 保存
    myWorkbook.save(excelFile.xls)


if __name__ == __main__:
    # 写入Excel
    write_excel()
    print(写入成功)

用openpyxl包写入Excel文件

# 写入数据
# 1. 导入模块
import openpyxl

# 写excel
def write_excel():
    f = openpyxl.Workbook()  # 创建工作簿
    sheet1 = f.create_sheet()
    # sheet1 = f.add_sheet(usheet1,cell_overwrite_ok=True) #创建sheet
    row0 = [uL1, uL2, uL3, uL4, u问题, u答案]

    # 生成第一行
    # for i in range(len(row0)):
    #    sheet1.cell(column=i,row=0).value=L1)

    # 生成后续

    for jkey in range(len(row0)):
        jk = 1
        for cT in range(len(row0)):
            jk = jkey + 1
            if cT == 0:
                sheet1.cell(row=jk, column=cT + 1).value = 1
            else:
                sheet1.cell(row=jk, column=cT + 1).value = 2

    f.save("chatPy.xlsx")  # 保存文件


if __name__ == __main__:
    # 写入Excel
    write_excel()
    print(写入成功)

用XlsxWriter

这个好好用!!!

import xlsxwriter
# 写excel
def write_excel():
    workbook = xlsxwriter.Workbook(chat.xlsx)  # 创建一个excel文件
    worksheet = workbook.add_worksheet(usheet1)  # 在文件中创建一个名为TEST的sheet,不加名字默认为sheet1

    worksheet.set_column(A:A, 20)  # 设置第一列宽度为20像素
    bold = workbook.add_format({
          
   bold: True})  # 设置一个加粗的格式对象

    worksheet.write(A1, HELLO)  # 在A1单元格写上HELLO
    worksheet.write(A2, WORLD, bold)  # 在A2上写上WORLD,并且设置为加粗
    worksheet.write(B2, U中文测试, bold)  # 在B2上写上中文加粗

    worksheet.write(2, 0, 32)  # 使用行列的方式写上数字32,35,5
    worksheet.write(3, 0, 35.5)  # 使用行列的时候第一行起始为0,所以2,0代表着第三行的第一列,等价于A4
    worksheet.write(4, 0, =SUM(A3:A4))  # 写上excel公式
    workbook.close()


if __name__ == __main__:
    # 写入Excel
    write_excel()
    print(写入成功)

end.

经验分享 程序员 微信小程序 职场和发展