技术标签: python 读excel每行替换
一.读Excel表(xlrd模块)
import xlrd #导入模块
data = xlrd.open_workbook('./report/result.xls') #打开excel
table = data.sheets()[0] #读sheet1
# table = data.sheet_by_name(u'Sheet1') #或通过sheet名获取
print(table.nrows) #行数
print(table.ncols) #列数
print(table.row_values(0)) #第一行
print(table.col_values(0)) #第一列
print(table.cell(1,2).value) #输出单元格坐标为(1,2)的值
二.写Excel表(xlwt模块)
# -*- coding: utf-8 -*-
#!/usr/bin/python
import xlwt #导入模块
wb = xlwt.Workbook() #创建Excel
ws = wb.add_sheet('test_sheet1') #创建sheet
ws.write(0, 0, 'hello') #在(0,0)写入hello
ws.write(1, 0, u'你好') #在(1,0)写入"你好"
wb.save('./report/result.xls') #保存
三.改Excel表(xlutils模块)
# -*- coding: utf-8 -*-
#!/usr/bin/python
import xlrd
import xlwt
from xlutils.copy import copy #导入模块
value=[[1,2,3],[4,5,6]]
oldwb = xlrd.open_workbook("./report/result.xls",formatting_info=True) # 打开excel,formatting_info保留原有格式
newwb = copy(oldwb) # 将xlrd拷贝转化为xlwt,变为可编辑
#sheet1中改写数据
newws = newwb.get_sheet(0) # 获取sheet1,括号里变为1,则获取sheet2,result.xls在创建时必须创建了sheet2,不然会报错
newws.write(1,0,"end"); #sheet1中改写数据
#追加新的sheet
add_sheet = newwb.add_sheet("sheet2",cell_overwrite_ok=True) # 增加新的sheet
rows = len(value) #行数
for i in range(0, rows):
for j in range(0, len(value[i])):
add_sheet.write(i, j, value[i][j]) #新的sheet写入数据
newwb.save("./report/result.xls")
注:写入中文时,如不加u,则会报:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
四.增加样式,合并单元格
# -*- coding: utf-8 -*-
#!/usr/bin/python
import xlrd
import xlwt
from xlutils.copy import copy
def write_excel_xls(path,sheet_name,value):
workbook = xlwt.Workbook()
sheet = workbook.add_sheet(sheet_name,cell_overwrite_ok=True) #cell_overwrite_ok可以覆盖原单元格中数据
# 添加边框
borders = xlwt.Borders()
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
borders.bottom_colour = 0x12 #添加边框颜色为黑色
#居中显示
al = xlwt.Alignment()
al.horz = 0x02
al.vert = 0x01
#加入style
style = xlwt.XFStyle()
style.borders = borders
style.alignment = al
#设置第1列列宽
sheet.col(0).width = 4500
#数据写入excel
rows = len(value) #行数
for i in range(0, rows):
for j in range(0, len(value[i])):
sheet.write(i, j, value[i][j],style)
#合并单元格
#worksheet.write_merge(1, 2, 0, 3, 'Second Merge', style) # 合并第1行到第2行的第0列到第3列。
type_list=['TLC Single plane','SLC Single plane']
list=[]
for i in type_list:
for j in range(rows):
if value[j][0]==i: #判断0列每行的数据是否等于type_list中的值
list.append(j) #将行号加入到list中
if len(list)!=0:
sheet.write_merge(list[0],list[-1], 0, 0, i,style) #合并首行、合并末行、合并首列、合并末列、单元格内容、格式
list=[]
workbook.save(path)
if __name__ == '__main__':
value=[[u'操作类型',u'Channel'],['TLC Single plane',0],['TLC Single plane',1],['TLC Single plane',2],['SLC Single plane',0],['SLC Single plane',1],['SLC Single plane',2]]
write_excel_xls("a.xls","a",value)
install -m0755 /home/yanfa/workspace/trunk-wr703/build_dir/target-mips_r2_uClibc-0.9.33.2/lk_cnp_serial_eth/lk_cnp_serial_eth /home/yanfa/workspace/trunk-wr703/build_dir/target-mips_r2_uClibc-0.9.33.2
dubbo 生产者在同一台服务器上起多个时报端口冲突的问题,报错信息如下: Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to bind NettyServer on /*.*.*.*:20880, cause...
七、Kubernetes Pod 资源1、Pod 服务状态1、无状态服务是指该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。多个实例可以共享相同的持久化数据。例如:nginx 实例,tomcat 实例等相关的 k8s 资源有:ReplicaSet、ReplicationController、Deployment等,由于是无状态服务,所以这些控制器创建的 pod 序号都是随机值。并且在缩容的时候并不会明确缩容某一个pod,而是随机的,因为
聚合分析运算是数据库中重要的特性,对于数据分析场景尤为重要。类似于关系型数据库中的 SUM,AVG, GROUP BY 等,Elasticsearch 也提供了丰富的聚合运算方式,可以满足大部分分析和查询场景。Doc Values 和 Field Data在学习聚合分析之前,我们先了解一下 Doc Values 和 Field Data 数据结构,我们知道倒排索引的优势在于查找包含某个项的文档,反过来确定哪些项是否在某个文档中并不高效,ES 为了满足排序、聚合以及执行脚本的需求,因此就出现了 Doc
[转载]http://blog.topspeedsnail.com/archives/4755Ubuntu 16.04编译安装OpenCV(Python)本帖记录在Ubuntu 16.04上安装OpenCV的步骤,并分别安装Python 2和Python 3的绑定。如果你只用C++接口,可以忽略Python的安装。Ubuntu 16.04系统默认安装了两个Python版本:Pyth
热点追踪/ 深度探讨/ 实地探访 / 商务合作Hello大家好呀!硅谷前沿科技周报又跟大家见面了。上周科技界又发生了哪些大事呢?小探带你来看看吧!首先,前沿科技方面,科技界的“网红”...
文章目录3.5 图像分类数据集(Fashion-MNIST)3.5.1 获取数据集3.5.2 读取小批量小结3.5 图像分类数据集(Fashion-MNIST)在介绍softmax回归的实现前我们先引入一个多类图像分类数据集。它将在后面的章节中被多次使用,以方便我们观察比较算法之间在模型精度和计算效率上的区别。图像分类数据集中最常用的是手写数字识别数据集MNIST[1]。但大部分模型在MNIS...
http://www.ibm.com/developerworks/cn/xml/x-stax2.html探讨 StAX 基于事件迭代器的 APIPeter Nehrer([email protected]), 自由撰稿人, 独立咨询顾问简介:Streaming API for XML (StAX) 的基于事件迭代器 API 无...
引用 在大部分情况下,容器中的bean都是singleton类型的。如果一个singleton bean要引用另外一个singleton bean,或者一个非singleton bean要引用另外一个非singleton bean时,通常情况下将一个bean定义为另一个bea...
Unit 8A -In My DayIn My DayRussell BakerAt the age of eighty my mother had her last bad fall, and after that her mind wandered free through time. Some days she went to weddings and funerals that had taken place half a century earlier. On others she .
使用ContentProvider共享数据: public boolean onCreate() 该方法在ContentProvider创建后就会被调用,Android开机后, ContentProvider在其它应用第一次访问它时才会被创建。 public Uri insert(...
最近项目要求实现国际化,所以了解了一下全球语言标准码。我们平时看到的标注都是 zh_CN ,en_US 这种样子的,根据查阅发现,这种标注由两部分组成:ISO-639 (语言码)ISO-3166 (国家或地区码)组成形式就是:语言码_国家码ISO-639 语言标准码语言标准码AbkhazabAfaraaAfrikaansafAkanakAlbaniansqAmharicamArabicarAragonesean