18-09-20 关于Xlrd和Xlwt的初步学习

时间:2023-03-09 04:40:48
18-09-20 关于Xlrd和Xlwt的初步学习
#一关于利用xlrd  打开Excel 读取数据的简单介绍

import xlrd """
#1 xlrd 基础的用法:读取,获取sheet,获取内容,行数,列数
def read_excel():
    #11打开文件      
    workbook = xlrd.open_workbook(r'C:\Users\WY\Desktop\1111111111\1.xlsx')
    # 22sheet是个列表 获取所有sheet['Sheet1', 'Sheet2']
   print(workbook.sheet_names())
    # 33根据sheet索引或者名字获取sheet工作表名字
    方式一索引

sheet2_name= workbook.sheet_names()[1]
    sheet2_name= workbook.sheet_by_index(1) #如果没有索引就会报错
    方式二 名字
sheet2 = workbook.sheet_by_name('Sheet2') #根据sheet的名字取相应的内容     #44 获取行 或者列 的数量 例如3行 5列
print(sheet2.name,sheet2.nrows,sheet2.ncols)

    #55 获取第几行的内容 或者第几列的内容

rows = sheet2.row_values(3) # 55 获取第四行内容
cols = sheet2.col_values(0) # 66 获取第一列内容
print(rows)
print(cols) #66 获取所有的的行
    nrows = sheet2.nrows
    list_data = []
#循环nrows 打印的行数
   for i in range (nrows):
    #每一行的数据
line_data =
sheet2.row_values(i)
       #每一列的数据
#myColValues = sheet2.col_values(i)
list_data.append(line_data)
print("打印总数据列表",list_data)
    
     #2 xlrd 获取单元格内容的三种方法 text 普通 和 行列索引
#print(sheet2.cell(5,0).value) #网吧这小个害人的东西
print(sheet2.cell(1,0).value.encode('utf-8'))
print(sheet2.cell_value(3,0).encode('utf-8')) # b'\xe7\xbd\x91\xe5\x90\xa7\xe8\xbf\x99\xe5\x
print(sheet2.row(1)[0].value.encode('utf-8')) #3 xlrd 关于取出数据的格式问题
# 说明:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
print(sheet2.cell(1,0).ctype) #第2行第1列:xiaoming2 为string类型
print(sheet2.cell(2,0).ctype) #第3行第1列:12 为number类型
print(sheet2.cell(3,0).ctype) #第4行第1列:2015/5/5 为date类型
read_excel()
"""







# 二 xlwt 对Excel 的写操作

# 2-1创建一个表格(自定义sheet的个数和名字,和添加内容到指定的单元格中)
import xlwt
from xlwt import Workbook
"""
def create(name):
book = Workbook(encoding='utf-8')
sheet1 = book.add_sheet('我的sheet1') #增加第一个sheet并命名
sheet2 = book.add_sheet('我的sheet2')
sheet1.write(0,0,"我是第一行第一列") #以下是写入内容根据(行数,列数,“内容”)
sheet1.write(0,1,"我是第一行第二列")
sheet1.write(1,0,"我是第2行第一列")
sheet1.write(1,1,"我是第2行第二列")
sheet2.write(0, 0, "我是第一行第一列")
sheet2.write(0, 1, "我是第一行第二列")
sheet2.write(1, 0, "我是第2行第一列")
sheet2.write(1, 1, "我是第2行第二列") #2-2 文件的保存 并根据传参命名(两种方式)
# 保存Excel book.save('path/文件名称.xls')
# book.save('E:/fund_data/Excel_datas/测试2018-09-06/ww.xls')
# book.save('C:/Users/WY/Desktop/%s.xls'% name)#替换表的名字 %s 方法
book.save('C:/Users/WY/Desktop/{}.xls'.format(name) )#替换表的名字format方法
create("创建Excel文本222")
""" #2-3 新建一个具体的excel 设置好字体 字号等
import os
import xlwt def set_style(name, height, bold=False):
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体
font.name = name
font.bold = bold #黑体
font.color_index = 4
font.height = height # style.font = font
return style #2-4实例化创建一个表格
def write_excel():
# 创建工作簿
workbook = xlwt.Workbook(encoding='utf-8')
# 创建sheet
data_sheet = workbook.add_sheet('sheet1')
row0 = ['序号', '姓名', '性别', '年龄']
row1 = [1, '王牧天1', '男', 4.5] # 生成第一行和第二行
# print("data_list",data_list)
for i in range(len(row0)):
data_sheet.write(0, i, row0[i], set_style('Times New Roman', 220, True)) #调用以上函数 罗马字体
data_sheet.write(1, i, row1[i], set_style('Times New Roman', 220, True)) #调用以上函数 罗马字体
# 保存文件
workbook.save('C:/Users/WY/Desktop/测试王牧天格式.xls') if __name__ == '__main__':
write_excel()
print('创建demo.xlsx文件成功')