(3)Python读写Excel
python读写Excel需要两个包:xlrd和xlwt。#!/usr/bin/python#-*- coding: utf-8 -*-import xlrd #必须事先引入读excel的包xlrdimport xlwt #必须事先引入写excel的包xlwt#根据索引获取Excel表格中的数据#参数:file:Excel文件路径,colnameindex:表头列名所在行的索引,by_ind
·
python读写Excel需要两个包:xlrd和xlwt。
#!/usr/bin/python
#-*- coding: utf-8 -*-
import xlrd #必须事先引入读excel的包xlrd
import xlwt #必须事先引入写excel的包xlwt
#根据索引获取Excel表格中的数据
#参数:file:Excel文件路径,colnameindex:表头列名所在行的索引,by_index:表的索引
#没有传递第二个和第三个参数的话,默认读取第一个Sheet表的第一行
def read_excel(file,colnameindex=0,by_index=0):
try:
data = xlrd.open_workbook(file)#打开excel
table = data.sheets()[by_index] #通过索引顺序获取
#sheet = data.sheet_by_index(by_index)#第一张sheet表
#table = data.sheet_by_name(u'Sheet1')#通过名称获取
#获取行数和列数
nrows = table.nrows #行数
ncols = table.ncols #列数
#获取整行和整列的值(数组)table.row_values(i) table.col_values(i)
colnames = table.row_values(colnameindex) #某一行数据
#打印表头列名
#for name in range(0,ncols):
#print name
list =[]#列表
#循环行列表数据
for rownum in range(1,nrows):
row = table.row_values(rownum)#列表
if row:
app = []#列表
for i in range(len(colnames)):
#根据行下标和列下标获取单元格的数据
#value=table.cell(rownum,i).value
value=row[i]
app.append(value) #添加数据
list.append(app)
return list
except Exception,e:
print str(e)
#生成excel
#参数file:保存路径,data:数据内容,为二维数组
def write_excel(file,data):
book=xlwt.Workbook(encoding='utf-8',style_compression=0)
sheet=book.add_sheet('sheet name',cell_overwrite_ok=True)#第二个参数true表示允许对一个单元格重复操作
for row in range(0,len(data)):
list=data[row]
for col in range(0,len(list)):
sheet.write(row,col,list[col])
book.save(file)#保存文件
#主函数
def main(file,tar='./test.xls'):
data = read_excel(file)#读取excel内容
for row in data:
print row
write_excel(tar,data)#保存excel内容
if __name__=="__main__":
filePath=u"E:/工作/公司公告-2014.xls"#excel所在路径
main(filePath)
更多推荐
已为社区贡献4条内容
所有评论(0)