开发者

详解Python中xlwt库的基本操作

目录
  • xlwt 简介
  • 简单示例
  • 二维列表数据写入Excel(一)
  • 二维列表数据写入Excel(二)
  • 把pymysql获取的结果集写入Excel
  • 完整代码

xlwt 简介

xlwt 是一个用于在python中操作Excel文件的库。它允许用户创建、修改和写入Excel文件,支持设置单元格的格式、样式等。以下是一些关键的特性和信息:

  • 创建和写入Excel文件: xlwt 允许用户创建新的Excel文件并在其中写入数据。这对于生成报表、导出数据等任务非常有用。
  • 支持设置单元格样式: 通过 xlwt,用户可以设置单元格的字体、对齐方式、背景色等样式,以使生成的Excel文件更具可读性和美观性。
  • 支持多种数据类型: xlwt 支持多种数据类型,包括文本、数字、日期等,使用户能够以各种格式将数据写入Excel文件。
  • 兼容性: 该库兼容 Excel 97-2003 文件格式(.xls),因此可以在较旧版本的Excel中使用。
  • 使用简便: xlwt 提供了简单而直观的接口,使得即使对于没有丰富编程经验的用户也能轻松上手。

简单示例

以下是一个简单的示例,演示如何使用 xlwt 创建一个Excel文件并写入数据:

import xlwt

# 创建一个新的Excel文件和工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')

# 写入数据到单元格
sheet.write(0, 0, 'Hello')
sheet.write(0, 1, 'World!')

# 保存文件
workbook.save('example.xls')

二维列表数据写入Excel(一)

按行存储在list的数据写入Excel

import xlwt

# 创建一个Workbook对象
workbook = xlwt.Workbook()
# 添加一个Sheet并设置其名称
sheet = wophprkbook.add_sheet('我的数据')
# 定义列表数据
data = [
    ['id', '姓名', '国家'],
    [1.0, '曹操'python, '魏国'http://www.devze.com],
    [2.0, '刘备', '蜀国'],
    [3.0, '孙权', '吴国'],
    [4.0, '荀彧', '魏国'],
    [5.0, '诸葛亮', '蜀国'],
    [6.0, '周瑜', '吴国'],
    [7.0, '曹仁', '魏国'],
    [8.0, '关羽', '蜀国'],
    [9.0, '吕蒙', '吴国']
]
# 写入数据到单元格
for i, row in enumerate(data):
    for j, value in enumerate(row):
        sheet.write(i, j, value,style)
# 保存Workbook到文件
workbook.save('output.xlsx')

二维列表数据写入Excel(二)

按列存储在list的数据写入Excel

import xlwt
# 创建一个Workbook对象
workbook = xlwt.Workbook()

sheet2 = workbook.add_sheet('我的数据2')

data=[
    ['id', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0],
    ['姓名', '曹操', '刘备', '孙权', '荀彧', '诸葛亮', '周瑜', '曹仁', '关羽', '吕蒙'],
    ['国家', '魏国', '蜀国', '吴国', '魏国', '蜀国', '吴国', '魏国', '蜀国', '吴国']]

# 写入数据到单元格
for i, row in enumerate(data):
    for j, value in enumerate(row):
        sheet2.write(j, i, value)

# 保存Workbook到文件
workbook.save('output2.xlsx')

把pymysql获取的结果集写入Excel

获取查询的所有结果

results = cursor.fetchall()

获取所有列名

column_names = [i[0] for i in cursor.description]

写入数据到工作表中

for row_index, row in enumerate(results):
    for col_index, value in enumerate(row):
        # 判断数据类型是否为时间类型
        if isinstance(value, datetime.datetime):
            value = value.strftime("%Y-%m-%d %H:%M:%S")
        sheet.write(row_index + 1, col_index, value)

完整代码

import pymysql    # 导入pymysql库,用于连接MySQL数据库
import xlwt       # 导入xlwt库,用于生成Excel文件
import datetime

# 建立数据库连接
connection = pymysql.connect(
    host='localhost',      # 数据库主机地址
    user='root',           # 数据库用户名
    password='123456',     # 数据库密码
    database='caiwu'       # 数据库名称
)

# 创建游标对象
cursor = connection.cursor()

# 执行SQL查询
cursor.execute("SELECT * FROM report_品名 limit 10")

# 获取所有结果
results = cursor.fetchall()
print(编程客栈results)

# 获取列名(即各个字段名)
column_names = [i[0] for i in cursor.description]

# 创建Excel工作簿
workbook = xlwt.Workbook()

# 创建工作表(即Excel中的sheet)
sheet = workbook.add_sheethttp://www.devze.com('Sheet1')

# 写入列名到工作表中
for col_index, column_name in enumerate(column_names):
    sheet.write(0, col_index, column_name)

# 写入数据到工作表中
for row_index, row in enumerate(results):
    for col_index, value in enumerate(row):
        # 判断数据类型是否为时间类型
        if isinstance(value, datetime.datetime):
            value = value.strftime("%Y-%m-%d %H:%M:%S")
        sheet.write(row_index + 1, col_index, value)

# 保存Excel文件
workbook.save('output.xls')

# 关闭数据库连接
cursor.close()
connection.close()

到此这篇关于详解Python中xlwt库的基本操作的文章就介绍到这了,更多相关Python xlwt库内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜