python中关于excel表个的操作

使用 python中的xlwt和xlrd模块进行操作

# 2003之前:Excel:xls
# 2003之后:Excel:xlsx
# xlrd:读取的模块:xls,xlsx
# xlwt:写分模块:xls
# openpyxl:既能读也能写,只能操作xlsx

所以后面一般操作excel表格最好是使用openpyxl进行操作

# encoding=utf-8
import time
import xlrd
import xlwt
import openpyxl
import xlutils
from openpyxl.styles import PatternFill,Alignment,Font,colors # 2003之前:Excel:xls
# 2003之后:Excel:xlsx
# xlrd:读取的模块:xls,xlsx
# xlwt:写分模块:xls
# openpyxl:既能读也能写,只能操作xlsx wordBook = xlrd.open_workbook('D:\\tmp\\t2.xls')#整个Excel
print type(wordBook)
sheetList = wordBook.sheets()
print sheetList
sheet1 = sheetList[0]#Excel的sheet
print sheet1
sheet2 = wordBook.sheet_by_index(0)
print sheet2
sheet3 = wordBook.sheet_by_name('test0827.txt')
print sheet3 rowList = sheet3.row_values(9)
# 通过下标取得某个单元格的值
print rowList#整行的值
colList = sheet3.col_values(1)
print colList
cell = sheet3.cell(1,4)#定位
print cell.value#整列的值
#workbook->整个excle
# sheet->excle 的sheet
# rowList ->整行的值
# cell->某一个单元格的值
#
# 1、获取第1个sheet 中B10的值,用不少于两种方法。
print colList[9]
print rowList[1]
print sheet3.cell(9,1).value
print u'行数:',sheet3.nrows
print u'列数:',sheet3.ncols # 2、读取‘A2:D9’区域的所有数据
for i in xrange(2,10):
cell1 = sheet3.row_values(i)
for j in cell1[0:4]:
print j,
print for i in xrange(1,9):
for j in xrange(4):
c2 = sheet3.cell(i,j)
print c2.value
print # xlwt
# 1、生成workbook
# 2、生成sheet
# 3、生成eExcel
#
workBook = xlwt.Workbook(encoding='utf-8')
print type(workBook)
sheet1 = workBook.add_sheet('test3')
sheet2 = workBook.add_sheet('test2')
sheet4 = workBook.add_sheet('test4')
print 'the sheet name is ',sheet1.name
sheet1.write(r =2,c=2,label='test0827.txt data')
sheet1.write(r =1,c=2,label=u'测试')
sheet1.write(r =3,c=2,label=u'光荣之路')
for i in xrange(4):
for j in xrange(5):
str1 = u'测试'+str(i)
sheet2.write(r=i,c=j,label=str1) # workBook.save('D:\\tmp\\t3.xls')
# # 1、在上一题中,把‘A2:D9’区域读取的内容,写入一个xls 的表格中,
# # 新的excle表格写入的区域是'A1:D8'
for i in xrange(1,9):
for j in xrange(4):
c2 = sheet3.cell(i,j).value
sheet1.write(r=(i-1),c=j,label=c2)
for i in xrange(1,9):
for j in xrange(4):
c2 = sheet3.cell(i,j).value
if isinstance(c2,(str,unicode)):
c2 = c2.lower()
sheet4.write(r=(i-1),c=j,label=c2)
#
#
#
#
# # 2、复制excle1 的sheet1 到excles2 的sheet1
#
a = sheet3.nrows
b = sheet3.ncols for i in xrange(a):
for j in xrange(b):
c2 = sheet3.cell(i,j).value
sheet4.write(r=i,c=j,label=c2) workBook.save('D:\\tmp\\t3.xls') openpyxl
# workbook-sheet-cell
workbook = openpyxl.load_workbook('D:\\tmp\\test0827.txt.xlsx')
workbook1 = openpyxl.load_workbook(u'D:\\tmp\\测试.xlsx'.encode('gbk'))
sheet1test = workbook1.get_sheet_by_name(u'员工信息表')
rowData1 = sheet1test.rows
for i in rowData1:
print i
print type(workbook)
sheetList = workbook.get_sheet_names()
for i in sheetList:
print i
sheet1 = workbook.get_sheet_by_name('test0827.txt')
rowData = sheet1.rows
# 行从1开始,列也是
for i in rowData:
# print type(i)
# print i
for j in i:
print type(j)
print j.coordinate,
print j.value,
print colData1 = sheet1test.columns
for i in colData1:
# print type(i)
# print i
for j in i:
# print type(j)
print j.coordinate,
print j.value,
print # 1、创建一个xlsx,通过rows方法,找出D8单元格的数据 rowData = sheet1.rows
for i in rowData:
# print type(i)
# print i
for j in i:
# print type(j)
if j.coordinate=='D8':
print j.value # 习题,通过列找D8 colData = sheet1.columns
for i in colData:
# print type(i)
# print i
for j in i:
# print type(j)
if j.coordinate=='D8':
print j.value # 更新一个单元格的值
sheet1['A3'].value = 12
workbook.save('D:\\tmp\\test0827.txt.xlsx') # C1 = sheet1.cell(coordinate=,row=,columns=)
c1 = sheet1.cell(coordinate='A7')
print c1.value
print c1.coordinate
c1 = sheet1.cell(row=1,columns=7)
print c1.value
print c1.coordinate # 2、把C2~C7的单元格,value写coordinate的值 for i in xrange(2,8):
c1 = sheet1.cell(row=3,column=i)
print c1.value
c1.value =c1.coordinate
print c1.value # 读一个区域的时候要注意有多行多列
str1 = sheet1['A2':'G7']
for i in str1:
for j in xrange(len(i)):
print i[j].value,
print
print i[0].value
i[0].value = i[0].coordinate
print i[0].value book1 = openpyxl.Workbook()
book1sheet1 = book1.create_sheet('sheet1',index=0)
print type(book1sheet1)
print book1sheet1.title#sheet的名称 book1sheet1['A2'].value = u'测试写入成功'
print book1sheet1['A2'].value str5 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
str4 = [[u'姓名',u'时间',u'分数'],['lily',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()),34]]
str2 = book1sheet1['A1':'C2']
s = 0
for i in str2:
for j in xrange(len(i)):
i[j].value= str4[s][j]
s +=1 # 可以整行写入,但是不能保证在哪一行
book1sheet1.append([u'姓名',u'时间',u'分数'])
book1sheet1.append(['lily',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()),34])
# # book1.save('D:\\tmp\\t10.xlsx')
# 合并单元格、单元格居中,修改背景颜色、字体的颜色
# 合并sheet.merge_cells(range_string="合并的区域",start_row=开始的行
# start_column= 开始的列,end_row=结束的行,end_column = 结束的列)
book2 = openpyxl.Workbook()
book1sheet2 = book2.create_sheet('test3',index=0)
book1sheet2.merge_cells(range_string="A1:I1") # 背景颜色
# PatternFill(patternType='',fgColor='',bgColor='',
# fill_type='',
# start_color='',
# end_color='')
#
fill = PatternFill(patternType='solid',fgColor=colors.GREEN)
book1sheet2['A1'].fill = fill # 字体的设置
# Font(name='',
# sz='',
# b='',
# i='',
# charset='',
# )
book1sheet2['A1'].value = u'九九乘法表'
font = Font(color = colors.WHITE,size=14)
book1sheet2['A1'].font = font # 对齐的方式
a1 = Alignment(horizontal='center')
book1sheet2['A1'].alignment = a1 # 写一个九九乘法表到excel中
for i in xrange(1,10):
list1 = []
for j in xrange(1,i+1):
if i >= j:
ste = '%d*%d'%(j,i)+'='+str(j*i)
book1sheet2.cell(row=i+1,column=j).value = ste
# list1.append(ste)
# book1sheet2.append(list1)
book2.save('D:\\tmp\\t11.xlsx')

python中Excel表操作的更多相关文章

  1. python之excel表操作

    python对excel表操作主要用到三个库,xlrd,xlwt,xlutils,分别用于excel表读,写,修改操作,以下将一个简单介绍 一.生成excel表:xlwt类 新建excel表,并写入数 ...

  2. python 读excel表操作

    import xlrd # 打开文件 data = xlrd.open_workbook('测试表.xlsx') # 查看工作表 data.sheet_names() print("shee ...

  3. Python 3 mysql 表操作

    Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...

  4. python中的赋值操作和复制操作

    之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...

  5. python中的赋值操作

    参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作“=” ...

  6. python中的日志操作和发送邮件

    1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...

  7. python中OS模块操作文件和目录

    在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...

  8. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  9. Python中的json操作

    Python中的json操作 标签(空格分隔): python 编码 json 字符串前缀问题 字符串前缀可以有r,u r:表示原始(raw)字符串,比如'\n'不会被转义.常用于正则. u:表示un ...

随机推荐

  1. npm WARN network …… request to https://cnpmjs.…… failed, reason: socket hang up

    出现类似问题的原因是由于之前配置了镜像导致的 解决方案:删掉镜像,使用npm本身进行安装 删除镜像的命令: 方法1: npm config delete registry 方法2: npm confi ...

  2. 如何恢复在Windows 10中被永久删除的照片?

    照片被误删除了需要恢复?这里推荐一款软件:winutilities.使用WinUtilities文件恢复向导允许您通过简单的点击恢复已删除的照片或从Windows 10回收站中恢复被删除的照片. 恢复 ...

  3. unittest:1 用例编写

    unittest是python自带的单元测试框架,包含测试用例case,测试集suite,测试集加载loader,测试执行runner,测试结果result等. 简单使用:写一个用例类继承自unitt ...

  4. 两天学会css基础(二)

    接上一篇博客,还有css中的两个重要知识点没有说到,就是元素的浮动与定位. 第三部分:元素的浮动与清除 这部分的内容之前的博客已总结过.请查看css中的浮动与三种清除浮动的方法这篇文章. 浮动在网页中 ...

  5. ES 6 装饰器与 React 高阶组件

    关于 Decorator 到底是 ES 6 引入的还是 ES 7 引入的我也不是很明白了,两种说法都有,这种问题懒得纠结了--在用的时候发现这个东西很好用,平常用处可能不大,但是结合 React 就很 ...

  6. JAVA中正则表达式学习总结

    一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...

  7. 第04章-VTK基础(7)

    [译者:这个系列教程是以Kitware公司出版的<VTK User's Guide -11th edition>一书作的中文翻译(出版时间2010年.ISBN: 978-1-930934- ...

  8. POJ1066 Treasure Hunt

    嘟嘟嘟 题意看题中的图就行:问你从给定的点出发最少需要穿过几条线段才能从正方形中出去(边界也算). 因为\(n\)很小,可以考虑比较暴力的做法.枚举在边界中的哪一个点离开的.也就是枚举四周的点\((x ...

  9. Spring(四)之Bean生命周期、BeanPost处理

    一.Bean 生命周期 Spring bean的生命周期很容易理解.当bean被实例化时,可能需要执行一些初始化以使其进入可用状态.类似地,当不再需要bean并从容器中移除bean时,可能需要进行一些 ...

  10. 在hyper-v中安装centos后配置网络

    /etc/sysconfig/network-scripts vi ifcfg-eth0 改为以下配置 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no ...