Python操作简单Excle表

先建一张表,以便操作:

13566833-77ffac63ac63f5b1.png

利用两个模块进行操作,命令为:
pip install xlrd
pip install xlwt

13566833-da9e7e5498d45b77.png

导包以后,需把文件放在同级目录:

13566833-6e13efdf1c496d31.png

开始上代码:

import xlrd
file_path='1.xlsx'
xlrd.book.ensure_unicode='utf-8'    #设置编码
data=xlrd.open_workbook(file_path)  #打开文件
sheet_names = data.sheet_names()    #获取文件中所包含的Sheet名
table = data.sheet_by_index(0)
rows_count = table.nrows        #取总行数
cols_count = table.ncols        #取总列数
print(rows_count,cols_count)    #4行4列  

row_data = table.row_values(0)  #取第一行的数据
col_data = table.col_values(0)  #取第一列的数据
print(row_data,col_data)    #['张三', '仙剑奇侠传', 'aaa', 'Beautiful', 20180806.0] ['张三', '李四', '王五', '雷六']

cell_data = row_data[0] #获取第0行第0列的值
cell_data_A1 = table.cell(1,1).value #获取第一行第一列的值
print(cell_data,cell_data_A1)   #张三 西游记  注意下标从0开始

for row in range(0,rows_count):
    for col in range(0,cols_count):
        data1 = table.cell(row,col).value
        print(data1,end='')
    print('\n')

扩展,如遇时间格式,先打印一下看看结果:

#扩展--- 关于时间格式
col_data5 = table.col_values(4)
print("取时间列--",col_data5)

13566833-831df70ad3fa75e2.png

看图,可知格式并不是我们想要的。所以,我们可以利用ctype显示单元格数据的类型,ctype有这几种类型:

ctype类型有:0-Empty 1-String 2-Number 3-data 4-boolean 5-error

所以,我们可以这样,先判别时间一列对应的ctype码是什么:

print(table.cell(0,4).ctype)    #2
print(table.cell(1,4).ctype)    #2
print(table.cell(2,4).ctype)    #2
print(table.cell(3,4).ctype)    #2
#打印出来的结果,是Number格式,而并非data格式
#date_value = xlrd.xldate_as_tuple(table.cell(2,4),data.datemode)
#print(date_value)   #检查时间格式是否可以用

13566833-d284e081bef16a7e.png

全都是Number格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值