开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天,点击查看活动详情
python写入excel表格数据
1、写入excel表格数据常用操作和格式设置
import xlwt
import datetime
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding='utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('Sheet1')
#字体样式设置
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = 'Times New Roman'
font.height = 20 * 11 # 字体大小,11为字号,20为衡量单位
font.bold = True # 黑体
font.underline = True # 下划线
font.italic = True # 斜体字
style.font = font # 设定样式
# 数据写入excel,参数对应 行, 列, 值
worksheet.write(0, 0, 'test_data') # 不带样式的写入
worksheet.write(1, 0, 'test_data', style) # 带字体样式的写入
# 设置单元格宽度
worksheet.col(0).width = 3333
#设置单元格背景颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 13
style = xlwt.XFStyle() # Create the Pattern
style.pattern = pattern # Add Pattern to Style
worksheet.write(2, 0, 'colour', style)
#给单元格添加边框方法一
borders = xlwt.Borders() # Create Borders
borders.left = xlwt.Borders.DASHED #DASHED虚线,NO_LINE没有,THIN实线
borders.right = xlwt.Borders.DASHED #borders.right=1 表示实线
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour=0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
style = xlwt.XFStyle() # Create Style
style.borders = borders # Add Borders to Style
worksheet.write(3,0 , 'border1', style)
#给单元格添加边框方法二
# 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7,大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
borders = xlwt.Borders()
borders.left = 1 #设置为细实线
borders.right = 1
borders.top = 1
borders.bottom = 1
borders.left_colour = 2 #颜色设置为红色
borders.right_colour = 2
borders.top_colour = 2
borders.bottom_colour = 2
style = xlwt.XFStyle() # Create Style
style.borders = borders # Add Borders to Style
worksheet.write(4, 0, 'border2', style)
#输入一个日期到单元格
style = xlwt.XFStyle()
style.num_format_str = 'M/D/YY' # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
worksheet.write(5, 0, datetime.datetime.now(), style)
#单元格添加计算公式
worksheet.write(0, 1, 2) # Outputs 2
worksheet.write(0, 2, 3) # Outputs 3
worksheet.write(1, 1, xlwt.Formula('B1*C1')) # Should output "6" (B1[2] * B2[6])
worksheet.write(1, 2, xlwt.Formula('SUM(B1,C1)')) # Should output "5" (B1[2] + C1[3])
#向单元格添加一个超链接
worksheet.write(0, 3, xlwt.Formula('HYPERLINK("http://www.baidu.com";"baidu")')) # Outputs the text "baidu" linking to http://www.baidu.com
#单元格合并
worksheet.write_merge(0, 0, 4, 5, 'First Merge') #合并0行的4到5列
worksheet.write_merge(1, 2, 4, 5, 'Second Merge') #合并1和2行的4到5列
#设置单元格内容的对其方式
alignment=xlwt.Alignment() ## Create Alignment
alignment.horz=xlwt.Alignment.HORZ_CENTER
alignment.vert=xlwt.Alignment.VERT_CENTER
style=xlwt.XFStyle()
style.alignment=alignment # Add Alignment to Style
worksheet.write(0, 6, 'alignment', style)
# 保存文件
workbook.save('data_test.xls')
2、字体颜色和背景颜色对应索引号字体颜色:font.colour_index背景颜色:pattern.pattern_fore_colour