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