python:基于xlrd和xlwd模块的Excel操作

基于xlrd和xlwd的Excel操作

基本概念

  • xlrd 用于读取Excel数据表格;xlwt 用于写入表格;仅支持 .xls.xlsx 格式
  • 如果Excel表的文字编码格式为 gb2312 ,读取后会显示乱码,请先转成 Unicode
  • workbook 定义为 工作薄sheet 定义为 工作表cell 定义为 单元格
  • 一个 workbook 包含多个 sheet ;一个 sheet 包含多个 cell

xlrd模块

  1. workbook 对象及方法
  • open_workbook() 函数创建(读取Excel表格)并返回
  • workbook 对象的创建及常用方法如下:
方法描述
open_workbook()读取指定的Excel文件,返回一个 workbook 对象; 该对象具有多个方法,用于操作 sheet 工作表
Book.nsheets返回 sheet 数目
Book.sheets()返回包含所有 sheet 对象的 list
Book.sheet_by_index(index)返回指定索引处的 sheet 对象
Book.sheet_names()返回包含所有 sheet 对象名称的字符串 list
Book.sheet_by_name(name)返回指定名称的 sheet 对象
  1. sheet 对象及方法
  • 基于 workbook 对象的方法获取 sheet 对象
  • sheet 对象的操作方法如下,通过 sheet 对象获取 cell 内容(字符串)
方法描述
Sheet.name返回 sheet 对象(工作表)的名称
Sheet.nrows返回 sheet 对象(工作表)的行数
Sheet.ncols返回 sheet 对象(工作表)的列数
Sheet.row(r)获取 sheet 对象(工作表)的指定行,返回包含所有 Cell 对象的 list
Sheet.col(c)获取 sheet 对象(工作表)的指定列,返回包含所有 Cell 对象的 list
Sheet.row_values(r)获取 sheet 对象(工作表)中指定行的值,返回包含所有 Cell 值的字符串 list
Sheet.col_values(c)获取 sheet 对象(工作表)中指定列的值,返回包含所有 Cell 值的字符串 list
Sheet.cell(r, c)根据位置获取 sheet 对象(工作表)中指定的Cell 对象
Sheet.cell_value(r, c)根据位置获取 sheet 对象(工作表)中指定 Cell 对象的值(字符串)
Cell.value返回单元格的值(字符串)

xlwt模块

  1. workbook 对象及方法
  • xlwt.Workbook.(encoding=‘ascii’, style_compression=0) 创建 workbook 对象,被用于保存 sheet 对象,是保存内容的首要步骤
  • 常用方法如下
方法描述
Workbook.add_sheet(sheetname, cell_overwrite_ok=False)Workbook 中创建并返回一个被添加的 Worksheet 对象
sheetname 是指被添加的 worksheet 对象的名称
cell_overwrite_ok 是指是否重写 cell 中的内容
Workbook.save(filename_or_stream)保存 workbook 到指定的 Excel 文件
  1. Worksheet 对象的方法
  • 基于 xlwt.Workbook() 方法创建了 worksheet 对象。随后,用于写入具体的内容。

  • 常用的方法为 worksheet.write() ,用于将 Cell 写入 workbook

  • 参数说明如下
    xlwt.Worksheet.write(r, c, label=’’, style=<xlwt.Style.XFStyle object>)
    r – 第几行(0-index)
    c – 第几列(0-index)
    label – 写入 Cell 的数据(内容)的格式

    • An int, long, or Decimal instance is converted to float.
    • A unicode instance is written as is. A bytes instance is converted to unicode using the encoding, which defaults to ascii, specified when the Workbook instance was created.
    • A datetime, date or time instance is converted into Excel date format (a float representing the number of days since (typically) 1899-12-31T00:00:00, under the pretence that 1900 was a leap year).
    • A bool instance will show up as TRUE or FALSE in Excel.
    • None causes the cell to be blank: no data, only formatting.
    • An xlwt.Formula instance causes an Excel formula to be written.

    style – 作用于 Cell 的格式

    • A style, also known as an XF (extended format), is an XFStyle object, which encapsulates the formatting applied to the cell and its contents.
    • XFStyle objects are best set up using the easyxf() function. They may also be set up by setting attributes in Alignment, Borders, Pattern, Font and Protection objects then setting those objects and a format string as attributes of an XFStyle object.
  1. Cell内容的格式
    基于 XF record 允许用户显式设置 Cell内容 的格式
GroupAttributes
Number formatNumber format index (index to FORMAT record)
FontFont index (index to FONT record)
AlignmentHorizontal and vertical alignment, text wrap, indentation, orientation/rotation, text direction
BorderBorder line styles and colours
BackgroundBackground area style and colours
ProtectionCell locked, formula hidden
  1. xlwt.Style.easyxf(strg_to_parse=’’, num_format_str=None, field_sep=’, ‘, line_sep=’;’, intro_sep=’:’, esc_char=’\’, debug=False)
  • 该方法创建并配置 XFStyle objects , 并用于 Worksheet.write() 方法.
  • 接受并解析 Alignment, Borders, Font, Pattern and Protection 对象.
  • Parameters: num_format_str –
    • To get the “number format string” of an existing cell whose format you want to reproduce, select the cell and click on Format/Cells/Number/Custom. Otherwise, refer to Excel help.
    • Examples: “#,##0.00”, “dd/mm/yyyy”
  • Returns: An XFstyle object.

————————————————

参考文件

### 回答1: xlwtPython 中一个非常流行的用于读写 Excel 文件的第三方库。要使用 xlwt 写入 Excel 文件,你需要按照以下步骤进行操作: 1. 安装 xlwt:可以使用 pip 命令安装 xlwt,命令为 pip install xlwt。 2. 导入 xlwt:在 Python 文件中导入 xlwt 库,命令为 import xlwt。 3. 创建一个 Workbook 对象:使用 Workbook 类创建一个 Excel 文件对象,命令为 workbook = xlwt.Workbook()。 4. 创建一个 Sheet 对象:使用 Workbook 对象的 add_sheet 方法创建一个 Sheet 对象,命令为 sheet = workbook.add_sheet("Sheet1")。 5. 向 Sheet 中写入数据:使用 Sheet 对象的 write 方法向 Sheet 中写入数据,命令为 sheet.write(row, col, value),其中 row 和 col 表示行和列的索引,value 表示要写入的数据。 6. 保存 Excel 文件:使用 Workbook 对象的 save 方法保存 Excel 文件,命令为 workbook.save("filename.xls"),其中 filename 表示要保存的文件名。 以上是使用 xlwt 写入 Excel 文件的基本步骤。你可以根据自己的需求调整参数和方法,实现更加复杂的功能。 ### 回答2: xlwt是一个用于生成Excel文件的库。下面是使用xlwt进行Excel写入的一般步骤: 1. 导入xlwt库:使用import语句导入xlwt库,以便在代码中使用它。 2. 创建一个Excel文件:使用Workbook()函数创建一个新的Excel文件对象。 3. 创建一个工作表:使用add_sheet()方法在Excel文件中创建一个新的工作表。 4. 写入数据:使用write()方法将数据写入工作表。write()方法的第一个参数是行号,第二个参数是列号,第三个参数是要写入的数据。 5. 保存文件:使用save()方法将Excel文件保存到磁盘上。save()方法的参数是要保存的文件路径。 下面是一个简单的示例代码: ``` import xlwt # 创建一个新的Excel文件对象 workbook = xlwt.Workbook() # 创建一个工作表 worksheet = workbook.add_sheet('Sheet1') # 写入数据 worksheet.write(0, 0, '姓名') worksheet.write(0, 1, '年龄') worksheet.write(1, 0, '张三') worksheet.write(1, 1, 25) worksheet.write(2, 0, '李四') worksheet.write(2, 1, 30) # 保存文件 workbook.save('example.xls') ``` 运行这段代码将会创建一个名为example.xls的Excel文件,并将数据写入第一个工作表。该文件将保存在当前目录下。 以上是一种使用xlwt库进行Excel写入的基本方法。通过修改参数和添加更多的写入语句,您可以根据自己的需求在Excel文件中写入更多的数据。 ### 回答3: xlwdPython中用于写入Excel文件的一个库。下面是使用xlwd写入Excel文件的简单步骤: 1. 首先需要安装xlwd库。可以使用pip命令在命令行中输入“pip install xlwt”进行安装。 2. 导入xlwd库。在Python脚本中的开头,使用“import xlwt”导入xlwt库。 3. 创建一个Workbook对象。使用“workbook = xlwt.Workbook()”创建一个新的Workbook对象,用于保存Excel文件。 4. 创建一个Sheet对象。使用“sheet = workbook.add_sheet('Sheet1')”创建一个新的Sheet对象,用于保存Excel文件中的表格数据。 5. 写入数据。使用Sheet对象的write方法,可以将数据写入到指定的单元格中。例如,“sheet.write(0, 0, 'Hello')”可以将字符串'Hello'写入到Sheet的第一行第一列的单元格中。 6. 保存Excel文件。使用Workbook对象的save方法,将Workbook对象保存为一个Excel文件。例如,“workbook.save('output.xls')”可将Workbook对象保存为名为'output.xls'的Excel文件。 7. 关闭Workbook对象。在完成写入操作后,记得关闭Workbook对象,以释放资源。使用“workbook.close()”即可关闭Workbook对象。 以上就是使用xlwd写入Excel文件的基本步骤。通过使用xlwd库,可以轻松地在Python中创建和写入Excel文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值