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.
下一篇:
字符串+转义字符+注释