pip install xlrd(读)
1.导入:import xlrd
2.打开文件:book = xlrd.open_workbook(文件位置+文件名)
3.根据sheet名称获取工作薄:sheet = book.sheet_by_name('Sheet5')
4.获取行数:rows = ws
5.获取列数:cols = ls
6. 按行获取值:for r in range(rows):
row_vaule = w_values(r)
7.按列获取值: for c in range(cols):
col_vuale = l_values(c)
8.按行列获取值:ll(行,列) 注:行列第一行下标从0开始
pip install xlwt(写,不支持xlsx格式)
1.导入:import xlwt
2.初始化并创建一个工作簿:book = xlwt.Workbook()
3.sheet = book.add_sheet('Sheet5',cell_overwrite_ok = True) #同一个单元格重复写入数据设
置,book.add_sheet('Sheet5',cell_overwrite_ok = True)
4.按行列写入:sheet.write(行,列,'内容')
5.合并信息并写入样式:sheet.write_merge(开始行,结束行,开始列,结束列,'内
容',self.styleExcle(2,3)) #self.styleExcle(2,3)自定义函数,2,3为参数,详见下面的实例
6.保存:book.save(文件位置+文件名)
pip install xlutils(结合读写可修改excel)
1.导入:py import copy import os
2.打开文件:book = xlrd.open_workbook(filename)
3.复制excel:newbook = copy(book)
4.打开第一个工作薄:sheet = _sheet(0)
5.修改第2行,第一列的值:sheet.write(1,0,'xiugren')
6.保存文件:newbook.save(copefilename)
7.删除旧文件:os.remove(filename)
8.重命名新文件名为旧文件名:os.rename(copefilename,filename)
文件路径
实例
#!/usr/bin/python
# ‐*‐ coding: UTF‐8 ‐*‐
import xlrd
import xlwt
py import copy
import os
'''
xlwt:只支持xls不支持xlsx
如果写入数据时,打开了exl会报PermissionError: [Errno 13] Permission denied: 异常 '''
class excel():
#编辑Excel样式,字体加粗加红
def styleExcle(self,fontclour,patternclour):
#初始化样式
style = xlwt.XFStyle()
#为样式创建字体
font = xlwt.Font()
#font.bold = True #粗体
#font.height = 400# 字体大小
#font.italic = True # 斜体
#font.struck_out =True # 横线(比如:在一个字中 画上一横)
style.font= font
#设置背景颜
pattern = xlwt.Pattern()
#设置背景颜的模式
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
#背景颜
pattern.pattern_fore_colour= patternclour#2为红 3为绿
style.pattern = pattern
return style
#xlwt(写)
def wirteExcle(self,filename,data):
#初始化并创建一个工作簿
book = xlwt.Workbook()
#创建一个名为sheetname的表单
sheet = book.add_sheet('Sheet5',cell_overwrite_ok = True)
#同一个单元格重复写入数据设置,book.add_sheet('Sheet5',cell_overwrite_ok = True)
#同一个单元格重复写入数据设置,book.add_sheet('Sheet5',cell_overwrite_ok = True) #默认 cell_overwrite_ok = False 表示禁止重复写入,重写抛出异常raise
Exception(msg)Exception: Attempt to overwrite cell:
c=1
for students in data:
#标题
sheet.write(0,0,'姓名')
sheet.write(0,1,'年龄')
#内容(行,列,值)第一行=0,第一列=0
sheet.write(c,0,students['name'])
sheet.write(c,1,students['age'])
c+=1
python怎么读取excel某一列#(开始行,结束行,开始列,结束列,合并信息)
sheet.write_merge(c,c,0,1,'学生信息',self.styleExcle(2,3))
#将工作簿以filename命名并保存
book.save(filename)
#xlutils(结合读写可修改excel)
def updateExcle(self,filename,copefilename):
book = xlrd.open_workbook(filename)#打开文件
newbook = copy(book)#复制excel
sheet = _sheet(0)#打开第一个工作薄
sheet.write(1,0,'xiugren')#修改第2行,第一列的值
newbook.save(copefilename)#保存文件
#xlrd(读)
def readExcle(self,filename):
print('‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐开始‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐') book = xlrd.open_workbook(filename)#打开文件
sheetname =book.sheet_names()#查看文件中包含sheet的名称
sheet = book.sheet_by_name('Sheet5')#根据sheet名称获取工作薄
#sheet = file.sheets()[0] #获取第一个sheet
#sheet = file.sheet_by_index(0)#获取第一个sheet
#cell_A1 = ll(0,0).value#获取第1行第1列的值
#row_A1 = w(0)[1].value#获取第1行第2列的值
#col_A2 = l(1)[2].value#获取第2列第2行的值
#print(cell_A1,row_A1,col_A2)
rows = ws#获取行数
cols = ls#获取列数
print('按行打印值,返回list值,一行一个list')
for r in range(rows):
row_vaule = w_values(r)
print(r,row_vaule)
print('按列打印值,返回list值,一列一个list')
for c in range(cols):#默认从0开始,如果从1开始(1,cols)
col_vuale = l_values(c)
print(c,col_vuale)
print('按第二行,第二列打印值')
ll(1,1))
print('‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐结束‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐') if __name__=='__main__':
str= [{'name':'zhangshan','age':19},
{'name':'lisi','age':28},
{'name':'wangwu','age':59}]
exl = excel()
exl.wirteExcle('D:\excel\pythonexcel.xls',str)
exl.updateExcle('D:\excel\pythonexcel.xls','D:\excel\pythonexcel1.xls') 文件内容
读取文件内容,控制台打印信息
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐开始‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
按行打印值,返回list值,一行一个list
0 ['姓名', '年龄']
1 ['zhangshan', 19.0]
2 ['lisi', 28.0]
3 ['wangwu', 59.0]
4 ['学生信息', '']
按列打印值,返回list值,一列一个list
0 ['姓名', 'zhangshan', 'lisi', 'wangwu', '学生信息']
1 ['年龄', 19.0, 28.0, 59.0, '']
按第二行,第二列打印值
number:19.0
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐结束‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论