xlwt基本操作
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 = workbook.add_sheet('我的数据')
# 定义列表数据
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):
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_sheet('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()
xlwt基本操作的更多相关文章
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- C++ map的基本操作和使用
原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...
- [python] CSV read and write using module xlrd and xlwt
1. get data from csv, skip header of the file. with open('test_data.csv','rb,) as csvfile: readCSV = ...
- python之最强王者(10)———文件(File)、输入输出的基本操作
1. Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 2.打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...
随机推荐
- pyqt5中的布局方法
addLayout():用于在布局中插入子布局 addWidget():用于在布局中插入控件
- vlunhub笔记(二)earth
(一)信息收集 开始扫描目标机ip,目标机ip:192.168.241.135 arp-scan -l 直接访问目标 ip 192.168.241.135 发现400报错 只能先去考虑扫一下信息 ...
- Log4j的Maven依赖及其配置文件
Maven配置 <!--Log4j依赖文件--> <dependency> <groupId>log4j</groupId> <artifactI ...
- Json 基于类 Newtonsoft.Json.Linq.JToken 的应用简介【C# 基础】
〇.前言 在日常开发中,对于 Json 的使用还是比较频繁的,特别是 Json 对象和字符串或者实体对象之间的转换. 虽然几乎天天用,但是总是感觉没那么明了,今天结合微软的 Newtonsoft.Js ...
- Android Studio Giraffe安装与gradle配置
本机环境:win10专业版,64位,16G内存. 原先用的AS2.2,是很早之前在看<第一行代码Android(第2版)>的时候,按书里的链接下载安装的,也不用怎么配置.(PS:第一行代码 ...
- 将Python打包成exe
使用以下命令首先安装包 pip install pyinstaller 参数以及用法 -F生成结果是一个exe文件,所有的第三方依赖.资源和代码均被打包进该exe内 -D生成结果是一个目录,各种第三方 ...
- 在Godot 3.X中添加触屏摇杆
开源项目地址:https://github.com/shinneider/godot_touchJoyPad 效果图: 下载项目 方法一 直接从godot assets lib下载 如图,直接下载自动 ...
- 《小白WEB安全入门》02. 开发篇
@ 目录 初识HTML潜在漏洞 初识CSS潜在漏洞 初识JS潜在漏洞 初识后端潜在漏洞 后端能做什么 后端种类 后端框架 潜在漏洞 本系列文章只叙述一些超级基础理论知识,极少有实践部分 本文涉及到的语 ...
- 再聊Java Stream的一些实战技能与注意点
大家好,又见面了. 在此前我的文章中,曾分2篇详细探讨了下JAVA中Stream流的相关操作,2篇文章收获了累计 10w+阅读.2k+点赞以及 5k+收藏的记录.能够得到众多小伙伴的认可,是技术分享过 ...
- 拯救Win7,2023该如何正确升级?
对于现存的Win7系统用户,微软曾多次提醒将在2023年1月停止对Win7与Win8.1的安全更新和技术支持.而转眼已经来到2023,时间已到,对于Win7,微软已经再也不管了,停止为Win7用户提供 ...