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语句,你可以给它传递零个或多个用逗号隔开的表达式. ...
随机推荐
- Linux 修改文本dos/unix 格式
使用 vi 命令打开文件,使用 :set ff 查看格式 如果显示dos,可使用 :set ff=unix 修改 pem 证书,使用 cat xx.key xx.crt DigiCertCA.crt ...
- Linux-基本常用命令2
cat 查看文件内容 cat -n 查看文件内容并且显示行数 more 用vi的形式查看文件内容 less 类似于vim查看文件内容 echo 输出内容到控制台 echo -e 支持反斜线控制 ...
- QLabel类中的常用方法&信号
setAlignment: 按固定值方式对齐文本 Qt.AlignLeft:水平方向靠左对齐 Qt.AlignRight:水平方向靠右对齐 Qt.AlignCenter:水平方向居中对齐 Qt.Ali ...
- python-多继承构造函数声明问题
背景 有场景分别定义两组逻辑,随后有统一入口做基类属性的整合 其中两组逻辑的积累构造函数定义入参不同 设计类继承图如: 实际的使用方式抽象为[使用] 小节 实际开发过程中遇到问题 先说结论 pytho ...
- WPF实现跳动的字符效果
本文将介绍一个好玩但实际作用可能不太大的动画效果:跳动的字符.为了提高动画效果的可重用性以及调用的灵活性,通过Behavior实现跳动的字符动画.先看下效果: 技术要点与实现 通过TextEffect ...
- firefox对webview性能数据监控的模拟
现在为了降低手机端的开发成本,越来越多的手机应用采用html5在进行开发,这样可以保证一处开发,到处嵌入. 但是这样的手机性能经常会是个瓶颈,因为当体验要求变高时,大多依赖html渲染引擎来对dom数 ...
- 大企业才用的分布式唯一Id,它比GUID好
支持.Net Core(2.0及以上)与.Net Framework(4.5及以上) 可以部署在Docker, Windows, Linux, Mac. 分布式唯一Id,顾名思义,是指在全世界任何一台 ...
- 【稳定性】关于缩短MTTR的探索
一.什么是 MTTR ? 当系统出现系统故障时,我们需要通过一些指标来衡量故障的严重程度和影响范围.其中MTTR(Mean Time To Repair 名为_平均修复时间_)是一个非常重要的指标,它 ...
- Linux系列教程——Shell、Linux文件管理
文章目录 Shell 1.什么是Bash shell(壳) 2.Bash Shell能干什么? 3.平时我们如何使用Shell呢? 4.Shell提示符 5.Shell基础语法 2.Bash Shel ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-22-处理select下拉框-上篇
1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉框选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助.今天,我们讲下playwright的下拉框怎 ...