在python中,对excel表格读数据和写数据,主要用到下面的模块:
- xlrd 读取excel表中的数据
- xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存
1.xlrd 模块读数据
安装:
pip install xlrd
导入:
import xlrd
创建excel表格对象
excel_object = xlrd.open_workbook(r"C:\Users\上海话校对数据1.xls")
打开excel操作
# 通过索引顺序获取
excel_table = excel_object.sheets()[0]
# 通过索引顺序获取
excel_table = excel_object.sheet_by_index(0)
# 通过名称获取
excel_table = excel_object.sheet_by_name(u'Sheet1')
创建excel sheet对象
# 返回的是列表形式,获取第一个sheet
first_sheet = excel_object.sheets()[0] sheet
first_sheet = excel_object.sheet_by_index(0)
first_sheet = excel_object.sheet_by_name(U"Sheet1")
获取sheet的行与列数量
# 行的总数量
rows = first_sheet.nrows
# 列的总数量
cols = first_sheet.ncols
获取整行和整列的数据.
# 指定下标,就可以获取某一行或者某一列的数据
one_row = first_sheet.row_values(1)
one_col = first_sheet.col_values(2)
获取单元格数据
# 第2列,第2行的单元格数据
cell_a1 = first_sheet.cell_value(2, 2)
# 第3列,第1行的单元格数据
cell_b1 = first_sheet.cell_value(3, 1)
2.xlwt 写入数据
安装:
pip install xlwt
导入:
import xlwt
创建workbook对象
workbook =xlwt.Workbook(encoding ="utf-8",style_compression=0)
创建一个sheet对象
# 一个sheet对象对应excel文件中一张表格
# Cell_overwirte_ok 是能够覆盖单元表格的意思
sheet =workbook.add_sheet("2",cell_overwrite_ok=True)
向表中添加数据.
sheet.write(0,0,"我爱你中国!")
保存
workbook.save(r"演示excel表格.xls")
3.全部代码如下:
读取数据
import xlrd
# 创建excel表格对象
excel_object = xlrd.open_workbook(r"C:\Users\Lenovo上海话校对数据1.xls")
# 打开excel操作
excel_table = excel_object.sheets()[0] # 通过索引顺序获取
excel_table = excel_object.sheet_by_index(0) # 通过索引顺序获取
excel_table = excel_object.sheet_by_name(u'Sheet1') # 通过名称获取
# 获取excel sheet对象
first_sheet = excel_object.sheets()[0] # 返回的是列表形式,获取第一个sheet
first_sheet = excel_object.sheet_by_index(0)
first_sheet = excel_object.sheet_by_name(U"Sheet1")
# 行的总数量,列的总数量
rows = first_sheet.nrows
cols = first_sheet.ncols
# 获取整行和整列的数据. 指定下标,就可以某一行或者某一列的数据
one_row = first_sheet.row_values(1)
one_col = first_sheet.col_values(2)
# 第2列,第2行的单元格数据
cell_a1 = first_sheet.cell_value(2, 2)
# 第3列,第1行的单元格数据
cell_b1 = first_sheet.cell_value(3, 1)
写入数据:
import xlwt
#1.创建workbook对象
workbook = xlwt.Workbook(encoding="utf-8", style_compression=0)
# 创建一个sheet对象,一个sheet对象对应excel文件中一张表格.
sheet = workbook.add_sheet("1", cell_overwrite_ok=True) # Cell_overwirte_ok 是能够覆盖单元表格的意思。
# 向表中添加数据.
sheet.write(0, 0, "我爱你中国!!")
workbook.save(r"演示excel表格.xls")
保存数据通用模板(个人使用):
import xlwt
# excel_data 是一个二维列表对象, 外层的列表 里面嵌套多个小的列表
excel_data = []
workbook = xlwt.Workbook(encoding="utf-8", style_compression=0)
# 创建一个sheet对象,一个sheet对象对应excel文件中一张表格, Cell_overwirte_ok 是能够覆盖单元表格的意思。
worksheet = workbook.add_sheet("sheet1", cell_overwrite_ok=True)
# 双重循环,分别向 行 和 列 写入数据
for i in range(len(excel_data)):
for j in range(len(excel_data[i])):
worksheet.write(i, j, excel_data[i][j])
workbook.save(r"个人测试使用.xls")