xglys 发表于 2018-8-11 12:35:36

python excel操作

  一.读操作--xlrd模块
  import xlrd
  打开一个工作表
  wkb=xlrd.open_workbook('test.xls')
  获取sheet操作
  wkb.sheet_names()
  sheet=wkb.sheets()
  sheet=wkb.sheet_by_index(0)
  sheet=wkb.sheet_by_name('Sheet1')
  sheet操作获取cell值的几种方法:
  nrows=sheet.nrows 总行数
  ncols=sheet.ncols 总列数
  sheet.row_values(i)   第i行的值
  sheet.col_values(i)   第i列的值
  sheet.cell(1,2).value   第2行3列的值
  sheet.cell_value(1,2)   第2行3列的值
  sheet.row(1).value   第2行3列的值
  sheet.col(2).value   第2行3列的值
  示例一:
  text.xls表格内容如下
zhzhgo25sister28brother30import xlrd  
wbk=xlrd.open_workbook('test.xls')
  
#print wbk.sheet_names()
  
#print wbk.sheets()
  
#print wbk.sheet_by_index(0)
  
st=wbk.sheet_by_name('Sheet1')
  
print st.nrows #获取表格行数
  
print st.ncols #获取表格列数
  
print st.row_values(0) #第一行的数据
  
print st.col_values(0) #第一列的数据
  
print st.cell(0,0).value #第一行一列的数据
  >>>
  3
  2
  
  
  zhzhgo
  >>>
  二.写操作--xlwt模块
  import xlwt
  wbk=xlwt.Workbook() 大写W
  sheet=wbk.add_sheet('Sheet 1',cell_overwrite_ok=True)
  sheet.write(0,1,'content')
  wbk.save('test.xls') 只支持保存xls格式
  自定义样式
  style=xlwt.XFStyle()
  font=xlwt.Font()
  font.name='Times New Roman'
  font.bold=True
  style.font=font
  sheet.write=(0,0,'content',style)
  style1=xlwt.easyxf('pattern:pattern solid,fore_colour red;font:bold on;')
  示例二:
import xlwt  
wbk=xlwt.Workbook()
  
st=wbk.add_sheet('test',cell_overwrite_ok=True) #如果test存在则覆盖
  
st.write(0,0,'zhzhgo')
  
st.write(0,1,25)
  
style=xlwt.XFStyle()
  
font=xlwt.Font()
  
font.name='Times New Roman'
  
font.bold=True #加粗
  
style.font=font
  
style1=xlwt.easyxf('pattern:pattern solid,fore_colour red;font:bold on;')
  
st.write(1,0,'zhzhgo',style) #设置字体样式
  
st.write(1,1,25,style1) #设置字体样式和背景颜色
  
wbk.save('test1.xls')
  运行之后生成test1.xls文件内容样式如下:
zhzhgo25zhzhgo25  由于xlwt每次保存的时候都会创建一个新的xls文件,如果文件不存在则创建,存在则覆盖,所以不能进行更新操作,python提供了更一个模块来进行excel的更新操作。
  三.修改操作--xlutils模块
  xlutils.copy
  from xlutils import copy as xcopy
  wkb_rd=xlrd.open_workbook('test.xls')
  wkb_cp=xcopy.copy(wkb_rd) 拷贝一份xlrd到xlwt
  sheet=wkb_cp.get_sheet(0)
  sheet.write(row,col,value)
  wkb_cp.save('test_cp.xls') 只支持保存xls格式
  示例三:
import xlrd  
from xlutils import copy
  
wkb_rd=xlrd.open_workbook('test.xls')
  
wkb_cp=copy.copy(wkb_rd)
  
sheet=wkb_cp.get_sheet(0)
  
sheet.write(3,0,'mother')
  
sheet.write(3,1,'50')
  
wkb_cp.save('test.xls'
  运行之后test.slx文件内容如下,增加一行插入的数据:
zhzhgo25sister28brother30mother50
页: [1]
查看完整版本: python excel操作