对Excel进行操作

对Excel进行操作

如果文件中有中文需要对文件进行编码
file = file.decode(“utf-8”)

1、导入模块(xlrd)

    import xlrd 

2、打开Excel文件读取数据

    data = xlrd.open_workbook('excelFile.xls')

3、常用方法

    **获取一个工作表**
    table = data.sheets()[0]          #通过索引顺序获取
    table = data.sheet_by_index(0) #通过索引顺序获取
    table = data.sheet_by_name(u'Sheet1')#通过名称获取
    **获取整行和整列的值(数组)**  
    table.row_values(i)
    table.col_values(i)
    **获取行数和列数**  
    nrows = table.nrows 
    ncols = table.ncols
    **循环行列表数据** 
    for i in range(nrows):
           print table.row_values(i)
    **单元格**
    cell_A1 = table.cell(0,0).value
    cell_C4 = table.cell(2,3).value
    **使用行列索引**
    cell_A1 = table.row(0)[0].value
    cell_A2 = table.col(1)[0].value

xlwt使用介绍

下面例子,创建一个名为mini.xls的文件它有一个空sheet:‘xlwt was here’。

from xlwt import xlwt
w =xlwt.Workbook()
ws = w.add_sheet('xlwt was here')
ws.write(0,0, label = 'this is test') # 在对应行,列写入值
ws.write(1,0, 'this is test') # 在对应行,列写入值
w.save('mini.xls') 

w.save(文件名字) :是用来保存的,括号内是文件名字
ws.write(横,列,写入内容):在对应横列写入值,横列可以用‘end‘
Workbook类初始化时有encoding和style_compression参数。

  • encoding设置字符编码,一般要这样设置:w=Workbook(encoding=‘utf-8’),就可以在excel中输出中文了。默认是ascii。
  • style_compression 表示是否压缩,不常用。

Workbook 还有一些属性:

Owner 设置文档所有者。
country_code: 国家码
wnd_protect: 窗口保护
obj_protect: 对象保护
Protect: 保护
backup_on_save: 保存时备份
Hpos: 横坐标
Vpos: 纵坐标
Width: 宽度
Height: 高度
active_sheet: 活动sheet
tab_width: tab宽度
wnd_visible: 窗口是否可见
wnd_mini: 窗口最小化
hscroll_visible: 横向滚动条是否可见。
vscroll_visible: 纵向滚动条是否可见。
tabs_visible: tab是否可见。
dates_1904: 是否使用1904日期系统
use_cell_values: 单元格的值
default_style: 默认样式
colour_RGB: 颜色

方法有:

add_style,add_font,add_str,del_str,str_index,add_rt,rt_index,add_sheet,get_sheet,raise_bad_sheetname,convert_sheetindex,setup_xcall,add_sheet_reference。

设置字体属性

font = xlwt.Font()     #  创建一个font对象,用来保存对字体进行的操作
font.name = '微软雅黑'  # 字体设置为'微软雅黑'
font.bold = True        # 字体加粗
font.underline = True   # 字体加下划线
font.italic = True      # 字体倾斜
style = xlwt.XFStyle()  # 创建一个style对象,用来保存excel的样式
style.font = font       # 将字体信息保存到style对象中
worksheet.write(0, 0, '无字体格式')
worksheet.write(1, 0, '有字体格式', style) # 在坐标为1,0的单元格内添加内容'有字体格式',并带有字体属性

设置背景

#创建一个pattern对象,用来保存单元格背景的样式
pattern = xlwt.Pattern()   
#设置单元格的背景图案样式(0x01-0x12共18种样式)
pattern.pattern = 0x01
#设置单元格的背景颜色
pattern.pattern_fore_colour = xlwt.Style.colour_map['yellow'] 
style = xlwt.XFStyle()
style.pattern = pattern    # 将背景颜色信息保存到styke对象中
worksheet.write(0, 0, '有背景颜色', style) # 在坐标为0,0的单元格内添加内容'有背景',并带有背景颜色

合并单元格

#将坐标为纵坐标0,0和横坐标0,1的两列合并,并添加内容'合并两列'
worksheet.write_merge(0, 0, 0, 1, '合并两列')
#将纵坐标为1,0和横坐标2,0的两行合并,并添加内容'合并两行'
worksheet.write_merge(1, 2, 0, 0, '合并两行')
#将纵坐标为3-5横坐标为0-2的三行三列合并,并添加内容'合并三行三列'
worksheet.write_merge(3, 5, 0, 2, '合并三行三列')

其他方法
#设置单元格宽度
worksheet.col(0).width = 200

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值