参考:
显示 【sheet数】【sheet Name】【(第一行,第一列)】
print sheets[0][1][(0,0)]
from pyExcelerator import *
sheets = parse_xls('src/天娱版权明确的歌曲清单.xls')
sdata=sheets[0][1]
#按行数 迭代
for tnum in range(max([tmp[0] for tmp in sdata])):
print sdata[(tnum,0)],'-',sdata[(tnum,1)]
from pyExcelerator import *
import os
sheets = parse_xls('xls/版权确认清单表20090601.3.xls')
cpcc= parse_xls('xls/CP对应表.xls')
g2u=lambda str : str.decode('gbk')
bmug=lambda str : unicode(str).encode("gbk")
def cfsize(cha):
if len(cha)==1:
return ord(cha)-ord('A')
else :
fsize=0
fnum=cfsize('Z')+1
cc=list(cha)
for tnum in range(len(cc)):
fsize+=fnum*tnum+cfsize(cc[tnum])
return fsize
cpccmap={}
tsdata=cpcc[0][1]
for tnum in range(max([tmp[0] for tmp in tsdata]))[:]:
cpname=tsdata[(tnum,cfsize('A'))]
cpid=("%s" % (tsdata[(tnum,cfsize('B'))])).split(".")[0]
cpccmap[cpname]=cpid
def insertData(cpid,cpname, music,actor,copyrightname,ytime,txls,rows):
#print music,actor,cpname,ytime,txls,rows
txls.write(rows,cfsize('A'),music)
txls.write(rows,cfsize('B'),actor)
txls.write(rows,cfsize('C'),cpname)
txls.write(rows,cfsize('D'),u'中国大陆')
txls.write(rows,cfsize('E'),u'无')
txls.write(rows,cfsize('F'),u'否')
txls.write(rows,cfsize('G'),u'否')
txls.write(rows,cfsize('H'),u'无')
txls.write(rows,cfsize('I'),ytime.split(' ')[0])
txls.write(rows,cfsize('J'),u'无')
txls.write(rows,cfsize('K'),'0')
txls.write(rows,cfsize('L'),u'许可')
txls.write(rows,cfsize('M'),'200')
txls.write(rows,cfsize('N'),u'许可')
txls.write(rows,cfsize('O'),'0')
txls.write(rows,cfsize('P'),u'许可')
txls.write(rows,cfsize('Q'),'0')
txls.write(rows,cfsize('U'),copyrightname)
txls.write(rows,cfsize('V'),'100%')
txls.write(rows,cfsize('W'),cpname)
txls.write(rows,cfsize('X'),'100%')
cpmap={}
for tsdata in sheets :
try:
sdata=tsdata[1]
#按行数 迭代
for tnum in range(max([tmp[0] for tmp in sdata]))[1:]:
cpid=sdata[(tnum,cfsize('C'))]
cpname=sdata[(tnum,cfsize('D'))] #.upper()
music=sdata[(tnum,cfsize('E'))]
actor=sdata[(tnum,cfsize('F'))]
copyrightname=sdata[(tnum,cfsize('H'))]
ytime=sdata[(tnum,cfsize('K'))]
if not cpmap.has_key(cpname) :
tmpf=bmug("cp -r 0000_20090602/ data3/"+cpid+"_20090602/ " )
os.system(tmpf)
txls=Workbook()
tsheet=txls.add_sheet(u'版权列表')
cpmap[cpname]=[txls,1,'data3/'+cpid+u'_20090602/产品信息/'+cpid+'_20090602_01_copyright.xls',tsheet]
titles='歌曲名称 演唱者 提供者 授权区域 电子化版权信息(有/无) 需要DRM处理(是/否) 支持二次开发(是/否) 相关版权合同记录(有/无) 授权期限 全曲授权 全曲价格 彩铃授权 彩铃价格 IVR授权 IVR价格 振铃授权 振铃价格 ISRC UPC ICPN 词曲著作权权利人一 词曲比例一 录音权权利人一 录音比例一 词曲著作权权利人二 词曲比例二 录音权权利人二 录音比例二 词曲著作权权利人三 词曲比例三 录音权权利人三 录音比例三 其它'.split('\t')
for ttnum in range(len(titles)):
tsheet.write(0,ttnum,g2u(titles[ttnum]))
insertData(cpid,cpname, music,actor,copyrightname,ytime,tsheet,1)
else :
tsheet=cpmap[cpname][3]
cpmap[cpname][1]=cpmap[cpname][1]+1
insertData(cpid,cpname, music,actor,copyrightname,ytime,tsheet,cpmap[cpname][1])
except :
print "[error]: ", music,actor,cpname,ytime,txls
pass
for tkey in cpmap.keys() :
ct=cpmap[tkey]
print ct[2]
ct[0].save(ct[2])
整理 www.blogjava.net/Good-Game
|