python excel 操作

简介:
参考:
显示   【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 ])


本文转自博客园刘凯毅的博客,原文链接:python excel 操作,如需转载请自行联系原博主。



 


目录
相关文章
|
1月前
|
数据可视化 Python
我是如何把python获取到的数据写入Excel的?
我是如何把python获取到的数据写入Excel的?
36 2
|
8天前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。
|
1月前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
26 1
使用Python+openpyxl实现导出自定义样式的Excel文件
|
13天前
|
数据挖掘 数据处理 Python
python如何高效处理excel图表案例分享
python如何高效处理excel图表案例分享
21 2
|
1月前
|
Python
python生成excel文件的三种方式
python生成excel文件的三种方式
43 1
python生成excel文件的三种方式
|
19天前
|
数据可视化 数据格式 索引
我用Python操作Excel的两种主要工具
我用Python操作Excel的两种主要工具
|
21天前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
|
2月前
|
存储 监控 数据处理
💻Python高手必备!文件系统操作秘籍,让你的数据存取如臂使指
【7月更文挑战第29天】在数据驱动时代, Python以简洁语法、丰富库生态和强大跨平台能力, 成为数据科学等领域首选。本文探讨Python文件系统操作秘籍, 助力高效数据处理。
37 11
|
1月前
|
Python
【Python】解决pandas读取excel,以0向前填充的数字会变成纯数字
本文介绍了两种解决Python使用pandas库读取Excel时,数字前填充的0丢失问题的方法:一是在读取时指定列以字符串格式读取,二是在Excel中预先将数值转换为文本格式。
67 0
【Python】解决pandas读取excel,以0向前填充的数字会变成纯数字
|
20天前
|
算法 数据挖掘 Java
日常工作中,Python+Pandas是否能代替Excel+VBA?
日常工作中,Python+Pandas是否能代替Excel+VBA?