xlrd和xlwt,读写excel

本文介绍使用Python库xlrd读取Excel文件及xlwt写入数据的基本操作。通过示例代码展示了如何获取工作表的行数、列数,读取特定行和列的数据,并将指定数据写入新的Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 xlrd读excel

import xlrd

book = xlrd.open_workbook('data.xlsx')

sheet1 = book.sheets()[0]

nrows = sheet1.nrows

print('表格总行数',nrows)

ncols = sheet1.ncols

print('表格总列数',ncols)

row3_values = sheet1.row_values(2)

print('第3行值',row3_values)

col3_values = sheet1.col_values(2)

print('第3列值',col3_values)

cell_3_3 = sheet1.cell(2,2).value

print('第3行第3列的单元格的值:',cell_3_3)

运行结果

表格总行数 5

表格总列数 5

第3行值 [‘3A’, ‘3B’, ‘3C’, ‘3D’, ‘3F’]

第3列值 [‘1C’, ‘2C’, ‘3C’, ‘4C’, ‘5C’]

第3行第3列的单元格的值: 3C

2、 xlwt写excel

主要代码如下,很简单:

import xlwt # 貌似不支持excel2007的xlsx格式

workbook = xlwt.Workbook()

worksheet = workbook.add_sheet('test')

worksheet.write(0,0,'A1data')

workbook.save('excelwrite.xls')
### 如何使用 `xlrd` `xlwt` 库进行 Excel 文件的读写操作 #### 安装库 为了能够顺利地使用这两个库,在开始之前需要先安装它们。可以利用 pip 工具来完成这一过程。 ```bash pip install xlrd==1.2.0 # 特定版本以兼容.xls文件 pip install xlwt ``` #### 使用 `xlrd` 读取 Excel 文件 当涉及到从 `.xls` 格式的 Excel 文件中提取数据时,`xlrd` 是非常有用的工具之一。下面是一个简单的例子展示如何打开并读取一个已有的 Excel 表格中的内容: ```python import xlrd workbook = xlrd.open_workbook('example.xls') # 打开指定路径下的Excel文档 sheet_names = workbook.sheet_names() # 获取所有工作表的名字列表 print(f'Sheet names are {sheet_names}') # 输出工作表名称 worksheet = workbook.sheet_by_name(sheet_names[0]) # 选取第一个工作表作为当前活动的工作表 num_rows = worksheet.nrows # 获得总行数 for curr_row in range(num_rows): # 遍历每一行的数据 row = worksheet.row_values(curr_row) # 取出某一行的内容作为一个列表返回 print(row) # 将该行打印出来 ``` 这段代码展示了怎样加载一个现有的 Excel 文档,并遍历其中的第一张表格的所有行,逐行显示其内容[^1]。 #### 使用 `xlwt` 创建新的 Excel 文件 如果目标是在 Python 中创建一个新的 Excel 文件并向里面添加一些数据,则可以借助于 `xlwt` 来实现这个目的。这里有一个基础的例子说明了这一点: ```python from datetime import datetime import xlwt # 新建一个工作簿对象 wbk = xlwt.Workbook() sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True) style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') style1 = xlwt.easyxf(num_format_str='D-MMM-YY') data = [ ['Item', 'Quantity'], (89.7546, datetime.now()), ] row_index = 0 for line in data: col_index = 0 for item in line: sheet.write(row_index, col_index, item, style=style0 if isinstance(item, float) else None) col_index += 1 row_index += 1 wbk.save('output.xls') # 保存到磁盘上的文件名为 output.xls 的位置 ``` 上述脚本会新建一张包含两列(项目名数量)的新 Excel 表单,并设置特定单元格样式后将其存储为本地文件[^3]。 需要注意的是,由于历史原因技术限制,`xlrd` `xlwt` 主要用于处理旧版 `.xls` 格式的文件;对于较新版本的 `.xlsx` 文件的支持有限或不存在。因此建议在实际开发过程中考虑采用更现代的替代方案如 `openpyxl` 或者 `pandas` 进行相应操作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值