首页 > 其他分享 >xlsxwriter基本操作

xlsxwriter基本操作

时间:2023-11-17 14:33:05浏览次数:30  
标签:worksheet xlsxwriter Excel workbook 基本操作 data col

xlsxwriter是一个用于创建和修改Excel文件(.xlsx)的Python库。它提供了丰富的功能,可以创建复杂的Excel工作簿,包括工作表、图表、图像,以及设置单元格样式和格式等。

创建一个新的Excel文件并添加工作表

import xlsxwriter

# 创建一个新的Excel文件
workbook = xlsxwriter.Workbook('example.xlsx')

# 添加一个名为"Sheet1"的工作表
worksheet = workbook.add_worksheet("Sheet1")

# 在工作表中写入数据
worksheet.write('A1', '姓名')
worksheet.write('B1', '年龄')
worksheet.write('A2', '张三')
worksheet.write('B2', 25)
worksheet.write('A3', '李四')
worksheet.write('B3', 30)

# 保存并关闭Excel文件
workbook.close()

设置单元格样式和格式

import xlsxwriter

workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()

# 创建一个加粗的格式对象
bold_format = workbook.add_format({'bold': True})

# 在单元格中写入数据,并应用加粗格式
worksheet.write('A1', '标题', bold_format)
worksheet.write('A2', '数据1')
worksheet.write('B2', 100)

# 设置列宽和行高
worksheet.set_column('A:B', 15)
worksheet.set_row(0, 20)

workbook.close()

添加图表

import xlsxwriter

workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()

# 写入一些数据
data = [10, 20, 30, 40, 50]
worksheet.write_column('A1', data)

# 创建一个柱状图对象
chart = workbook.add_chart({'type': 'column'})

# 添加数据系列到图表中
chart.add_series({
    'values': '=Sheet1!$A$1:$A$5',
    'name': '数据',
})

# 将图表插入工作表中
worksheet.insert_chart('C1', chart)

workbook.close()

写入MySQL数据到Excel

在实际工作中,我们经常需要将数据库中的数据导出到Excel表格中进行进一步的分析和处理。Python中的pymysql和xlsxwriter库提供了很好的解决方案,使得这一过程变得简单而高效。

建立数据库连接

首先,我们需要使用pymysql库来建立与MySQL数据库的连接,并指定要连接的数据库名称、用户名和密码。

import pymysql

connection = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    database='caiwu'
)

编写SQL查询语句

接下来,我们可以编写需要执行的SQL查询语句,以获取所需的数据。

query = "SELECT * FROM report_品名"

创建Excel文件对象和工作表对象

使用xlsxwriter库,我们可以创建一个新的Excel文件和工作表对象,准备将数据写入其中。

import xlsxwriter

workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet()

创建游标对象并执行SQL查询

创建游标对象,执行SQL查询语句,并获取查询结果的列名。

cursor = connection.cursor()
cursor.execute(query)

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

将查询结果写入Excel文件

遍历查询结果,并将数据写入到Excel文件中。在此过程中,我们还可以对时间字段进行格式化处理。

import datetime

data = cursor.fetchall()

for col_index, col_name in enumerate(column_names):
    worksheet.write(0, col_index, col_name)

for row_index, row_data in enumerate(data):
    for col_index, col_data in enumerate(row_data):
        if isinstance(col_data, datetime.datetime):
            col_data = col_data.strftime("%Y-%m-%d %H:%M:%S")
        worksheet.write(row_index + 1, col_index, col_data)

关闭游标、数据库连接和Excel文件对象

在数据导出完成后,记得关闭游标、数据库连接和Excel文件对象,释放资源。

cursor.close()
connection.close()
workbook.close()

总结

通过以上步骤,我们使用Python成功地将MySQL查询结果导出到Excel文件中。这种方法不仅简单方便,而且还可以轻松实现定制化的数据处理和格式化操作。

完整代码:

import pymysql
import xlsxwriter
import datetime

# 建立数据库连接
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    database='caiwu'
)

# 编写SQL查询语句
query = "SELECT * FROM report_品名"

# 创建Excel文件对象
workbook = xlsxwriter.Workbook('output2.xlsx')

# 创建Excel工作表对象
worksheet = workbook.add_worksheet()

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

# 执行SQL查询
cursor.execute(query)

# 获取查询结果的列名
column_names = [i[0] for i in cursor.description]

# 将列名写入Excel文件的第一行
for col_index, col_name in enumerate(column_names):
    worksheet.write(0, col_index, col_name)

# 获取查询结果中的数据
data = cursor.fetchall()

# 将数据写入Excel文件中
for row_index, row_data in enumerate(data):
    for col_index, col_data in enumerate(row_data):
        # 判断数据类型是否为时间类型
        if isinstance(col_data, datetime.datetime):
            col_data = col_data.strftime("%Y-%m-%d %H:%M:%S")  # 将时间字段转换为字符串
        worksheet.write(row_index + 1, col_index, col_data)

# 关闭游标对象
cursor.close()

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

# 关闭Excel文件对象
workbook.close()

 

标签:worksheet,xlsxwriter,Excel,workbook,基本操作,data,col
From: https://www.cnblogs.com/lcl-cn/p/17816246.html

相关文章

  • xlwt基本操作
    xlwt简介xlwt是一个用于在Python中操作Excel文件的库。它允许用户创建、修改和写入Excel文件,支持设置单元格的格式、样式等。以下是一些关键的特性和信息:创建和写入Excel文件:xlwt允许用户创建新的Excel文件并在其中写入数据。这对于生成报表、导出数据等任务非常有用。......
  • 关于广义表的基本操作
    一、广义表1.广义表有两个基础操作1.1取表头:取出表出第一个元素表头可能是一个原子元素也可能是一个子表1.2取表尾:表尾是指除了表头元素之外的元素构成的一个表表尾一定是一个表2.存储结构2.1广义表的存储一般采用链式存储2.2结点有两种,一种为原子结点,一种为表结点......
  • 02-本地库基本操作
    02-本地库基本操作本地库基本操作在一指定文件夹右键使用"gitbush"指令打开git命令行工具,即可进行本地库操作。1.本地库初始化在当前文件夹中初始化git工具环境。$gitinit生成一个.git隐藏文件夹,目录中存放的是本地库相关的子目录和文件,不能随意删除和修改。2......
  • pandas写入和读取数据基本操作
    按行存储数据的二维列表写入数据到Excelimportpandasaspd#定义列表数据data=[['id','姓名','国家'],[1.0,'曹操','魏国'],[2.0,'刘备','蜀国'],[3.0,'孙权','吴国'],[4.0,......
  • 在CentOs 7 下的Linux基本操作(一)
    1.目录操作(1)创建目录创建单个目录用mkdir,创建多级目录门mdkir -p  (2)查看目录查看当前目录用pwd   查看实际工作目录用 pwd -P 注意该P为大写  ......
  • git基本操作
    git提交相关命令#初始化仓库gitinit#将文件添加到暂存区gitadd.#提交到版本控制gitcommit-m""#推送到远程服务器gitpush#从远程服务期更新代码到本地gitpull#查看git状态gitstatusgit其他命令#克隆仓库gitclone#查看远程仓库相关信息gitremote#......
  • Git_基本操作以及思考
    git重新理解工作区域--执行状态工作区、暂存区(也可称为索引区)和版本区工作目录/Theworkingdirectory暂存索引/StagingIndex查看命令:gitls-filesgitstatus的结果就是作区和暂存区两者的差别即内容不一致的地方。状态:已修改(modified)、已暂存......
  • 【SFTP】sftp的登录和基本操作
    sftp的一些简单操作语句登录[email protected]输入密码:xxx下载文件getxxx.txt(下载单个文件)get-rxxx_folder(下载文件夹)创建文件夹mkdirxx_folder(这类型的操作,和Linxu其实没有什么区别了)登出quit......
  • linux shell中 创建数组及数组的基本操作
     001、创建数组a、方法1[root@pc1test01]#ay1=(100200"abc""xyz")##创建数组 b、方法2[root@pc1test01]#ay2[0]=100[root@pc1test01]#ay2[1]=200[root@pc1test01]#ay2[3]="mn" 002、访问数组的全部元素[root@pc1test01]#ay1=(100......
  • Shell的基本操作和编程入门
    操作:1)给变量赋值,练习echo命令,做下面这个题目:安装中文输入环境:http://rpm.pbone.net  选择第二个,点击右键,复制地址: 按顺序输入下面的命令:     安装完成后,输入zhcon,进入中文输入环境 a)把自己的名字赋值给变量name,把"是"赋值给变量is,把自己的班级名称......