为了帮助一学妹转换数据,于是今天花了些时间来写这个脚本,话说python真是强大,EXCEL的数据都能轻易操控,本来想用JAVA API写的,但是考虑到JAVA实在是有点麻烦,于是找了一个python脚本现学现卖了。废话写完了,进入正题。
用的是python2.x的版本 用了两个库 import xlrd import xlwt
下载下来之后 DOS命令下进入解压文件夹 python setup.py install 分别对两个库做一次 两个库就加入到python的lib中去了
在建立一个python的文件夹,将EXCEL文件放入,就可以不用管读写路径的问题了。
import xlrd #这个库是读数据
import xlwt #这个库是写数据
data = xlrd.open_workbook('888.xlsx')
file = xlwt.Workbook() #这里必须是Workbook()
table111 = file.add_sheet('sheet111',cell_overwrite_ok=True)
table = data.sheets()[0]
nrows = table.nrows #这是统计数据的行号
list2 = []
list2 = table.row_values(5) #这是讲第五行的数据取出 放在list中,list即为数组
list1 = []
list1 = table.row_values(6)
for i in range(1,7): #range(1,7)表示 只循环1,2,3,4,5,6
table111.write(i-1,0,list1[0])
table111.write(i-1,1,list2[i])
table111.write(i-1,2,list1[i])
table111.write(i-1,3,list1[i+6])
table111.write(i-1,4,list1[i+12])
table111.write(i-1,5,list1[i+18])
table111.write(i-1,6,list1[i+24])
table111.write(i-1,7,list1[i+30])
#插一句,python中是没有java的自加自减的~ 所以只能使用别的方法代替
list1 = []
list1 = table.row_values(7)
for i in range(7,13):
table111.write(i-1,0,list1[0])
table111.write(i-1,1,list2[i])
table111.write(i-1,2,list1[i-6])
table111.write(i-1,3,list1[i])
table111.write(i-1,4,list1[i+6])
table111.write(i-1,5,list1[i+12])
table111.write(i-1,6,list1[i+18])
table111.write(i-1,7,list1[i+24])
file.save('demo.xls') #将写完的数据 一次性flush到指定文件中,保存下来