读取Excel文件之前我们需要去下载一个叫做excel的库文件包,放在当前项目中
下载地址:https://pypi.python.org/pypi
Python写Excel时用的是xlwt库,读取的是的是用的xlrd库
读取Excel文件如下:
# file="G:\\sheet.xlsx"
wb = xlrd.open_workbook("G:\\sheet.xlsx")#打开文件
print(wb.sheet_names())#获取所有的sheet页
sheet1 =wb.sheet_by_index(0)#通过索引获取表格页,从o开始
sheet2 =wb.sheet_by_name(r"账户")#通过sheet名字获取表格
print(sheet1.name,sheet1.nrows,sheet1.ncols)#获取当前sheet页的名称,行数,列数,都从1开始
rows = sheet1.row_len(0)#获取某一行长度索引为0
print(sheet1.row_len(0))#获取某一行长度索引为0
print(rows)
rows = sheet1.row_values(0)#获取行内容,索引从0开始
cols = sheet1.col_values(1)#获取某一列内容,索引从0开始
print(rows, cols)
#获取内容的三种方式:
print(sheet1.cell(0,0).value)#通过行列索引获取表格内容,索引从0开始 列,行
print(sheet1.col_values(1))#通过列获取当前列所有信息
print(sheet1.row(2)[3].value)#通过坐标获取位置,行 列 索引为0起
Python读取Excel中单元格的内容返回的有5种类型
ctype : 0 empty,1 string,2 number, 3 date,4 boolean,5 error
即可以做下简单处理,判断ctype是否等于3,如果等于3,则用时间格式处理:
首先需要导入相应的包:from datetime import date,datetime
if(sheet.cell(row,col).ctype == 3):
date_value = xlrd.xldate_as_tuple(sheet.cell_value(rows,3),book.datemode)
date_tmp = date(*date_value[:3]).strftime('%Y/%m/%d')
Excel写入与文档写入基本一致,不同点在于需要指定单元格
f = xlwt.Workbook()#创建工作簿
sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True)#创建sheet
sheet1.write(0,0,状态【填入值】,【单元格样式】)
.save('demo1.xlsx')#保存文件
合并单元格时需要用到:
write_merge(x, x + m, y, w + n, string, sytle)
x表示行,y表示列,m表示跨行个数,n表示跨列个数,string表示要写入的单元格内容,style表示单元格样式。其中,x,y,w,h,都是以0开始计算的。
读取csv文件的方法比较多
普通读取: 和读取txt文本文件差不多
with open("fileName.csv") as file:
for line in file:
printline
用CSV标准库读取 首先得导入 cvs 库文件