Python将数据写入到excel中需要用到xlwt模块,其操作也非常简单,如果没有该模块,可用pip安装。
以下两个程序片段将演示按列写入数据 和 按行写入数据。
按列写入数据:
# -*- coding: utf-8 -*-
import xlwt
# 创建工作簿
f = xlwt.Workbook()
# 创建一个sheet
sheet1 = f.add_sheet('test', cell_overwrite_ok=True)
col1 = sheet1.col(0)
col1.width = 256 * 38
col2 = sheet1.col(1)
col2.width = 256 * 85
col3 = sheet1.col(2)
col3.width = 256 * 85
# 初始化第一行(有三列)
row0 = [u'姓名', u'性别', u'电话']
for i in range(0, len(row0)):
sheet1.write(0, i, row0[i])
# 初始化第一列数据
col1_data = ['张三','李四','王五']
for k in range(len(col1_data)):
sheet1.write(k+1, 0, col1_data[k].decode('utf-8'))
# 初始化第二列数据
col2_data = ['女','男','男']
for l in range(len(col2_data)):
sheet1.write(l+1, 1, col2_data[l].decode('utf-8'))
# 初始化第一列数据
col3_data = ['13800138000','13800138001','13800138002']
for j in range(len(col3_data)):
sheet1.write(j+1, 2, col3_data[j].decode('utf-8'))
# 保存文件
f.save("d:\\test.xls")
#sheet1 = f.add_sheet('test', cell_overwrite_ok=True)是新建一个表格,第一个参数是表格的名称,第二个参数是数据是否被重写
#sheet1.write(row, col, data)是将数据写入表格,第一个参数是对应的行,第二个参数是对应的列,第三个参数则是要写入的值。
按行写入数据:
# -*- coding: utf-8 -*-
import xlwt
# 创建工作簿
f = xlwt.Workbook()
# 创建一个sheet
sheet1 = f.add_sheet('test', cell_overwrite_ok=True)
test_data = [['姓名','性别', '电话'],['张三','女','13800138000'],['李四','男','13800138001'],['王五','男','13800138002']]
for i in range(len(test_data)):
t = test_data[i]
for j in range(len(t)):
print '%s%s'%(i,j)
print t[j].decode('utf-8')
sheet1.write(i, j, t[j].decode('utf-8'))
# 保存文件
f.save("d:\\test.xls")