资讯专栏INFORMATION COLUMN

Python 入门之excel数据分离成多个sheet

Shimmer / 2016人阅读

摘要:最近老大发了疯一样给我布置很多坑一样的任务,郁闷至极,今天这是一个非常简单的操作的示例。假如你全公司的数据都在一张表格中,那么请用这个把它们按部门分离出来吧。

最近老大发了疯一样给我布置很多坑一样的任务,郁闷至极,今天这是一个非常简单的操作excel的示例。
假如你全公司的数据都在一张表格中 ,那么请用这个把它们按部门分离出来吧。

用python写一些小工具确实是简单啊。

optionParser,继上一节的Entry之后,你就已经知道了怎样输入你的文本,那么通过命令行呢,这里的optionParser就是实现了这个目的。
使用optionparser模块来解析

optionparser的执行过程:
导入optionparser : from optparse import OptionParser
构造optionparser的对象:parser = OptionParser()
往optionparser对象中增加option :parser.add_option()
调用optionparser的解析函数:(options, args) = parser.parse_args()
在options中使用解析到的options,在args中使用其他的args。

from optparse import OptionParser
import sys
import xlrd,xlwt

STRING = "部门" #按部门分离
TITLE_ROW = 0
def split_file(filename):
    workbook = xlrd.open_workbook(filename)#
    sheet = workbook.sheet_by_index(1) #通过index选择你需要分割的那个sheet    
    Title=sheet.row_values(TITLE_ROW) #
    print(Title)
    index = Title.index(STRING)#选择所需要的那一列数据
    print(index)
    all= sheet.col_values(index)
    department = list(set(all))
    department.remove(STRING) #删除Title这一个元素得到的是所有的部门了
    print(department)
    wb_result=xlwt.Workbook()
    for sub_dt in department:
        row_i =0 
        sheet_subdt=wb_result.add_sheet(sub_dt,cell_overwrite_ok=True)
        for j in range(sheet.ncols):
            sheet_subdt.write(row_i,j,sheet.row_values(TITLE_ROW)[j])
        row_i=row_i+1
        for i in range(1,sheet.nrows): #第1行是Titile,从第2行开始
            if sheet.row_values(i)[index] == sub_dt:
                for j in range(sheet.ncols):
                    sheet_subdt.write(row_i,j,sheet.row_values(i)[j])
                row_i=row_i+1
            
    wb_result.save("result-split.xls")
        
def main():
    parser = OptionParser(description="split your excel sheet to many by keywords.", usage="%prog [-f]", version="%prog 1.0")
    parser.add_option("-f", "--filename", dest="filename",
                      help="the filename that you need to split.")
    options, args = parser.parse_args(args=sys.argv[1:])
    stock = split_file(options.filename)
if __name__=="__main__":
    main()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38344.html

相关文章

  • python入门对比两份excel表格数据

    摘要:今天老大交给我一个任务,对比两个版本的数据的异同增删情况,唉,说多了都是泪,自从学会了,再也不用担心老大这样的任务了好了直接上代码吧,代码中解释暂时用不上定义两个全局,分别存储原始和目的需要对比的数据打开原始文件打开目标文件新建一个文件,用 今天老大交给我一个任务,对比两个版本的excel数据的异同(增删情况),唉,说多了都是泪,自从学会了python,再也不用担心老大这样的任务了~~...

    gaosboy 评论0 收藏0
  • python入门excel数据到mysql

    摘要:功能将数据导入到数据库练习使用将的数据导入到练习语句查看创建插入语句创建一个循环迭代读取文件每行数据的从第二行开始是要跳过标题关闭游标提交关闭数据库连接打印结果我刚导入了除了之外还可以另外的写操作词篇暂不赘述对于的操作有很多有意思的方法, 功能:将Excel数据导入到MySQL数据库 练习使用sqlite3 将excel的数据导入到mysql 练习sql语句-查看dochttps:...

    silvertheo 评论0 收藏0
  • Python Pandas读取修改excel操作攻略

    环境:python 3.6.8 以某米赛尔号举个例子吧: showImg(https://segmentfault.com/img/bVboqzz?w=396&h=215);showImg(https://segmentfault.com/img/bVboqzA?w=362&h=216); >>> pd.read_excel(1.xlsx, sheet_name=Sheet2) 名字 ...

    frolc 评论0 收藏0
  • Python数据分析入门pandas总结基础(二)

    摘要:一大熊猫世界来去自如的老生常谈,从基础来看,我们仍然关心对于与外部数据是如何交互的。函数受限制问题唯一重要的参数,标志着一个的第个页将会被取出。数据分析入门之总结基础一欢迎来翔的博客查看完成版。 一.大熊猫世界来去自如:Pandas的I/O 老生常谈,从基础来看,我们仍然关心pandas对于与外部数据是如何交互的。 1.1 结构化数据输入输出 read_csv与to_csv 是⼀对...

    verano 评论0 收藏0
  • 使用Python批量处理工作簿和工作表

    摘要:使用批量处理工作簿和工作表批量新建并保存工作簿批量打开一个文件夹中的打开工作簿批量重命名一个工作簿的所有工作表批量重命名多个工作簿批量重命名多个工作簿中的同名工作表将一个工作簿的所有工作表批量复制到其他工作簿按条件将一 ...

    maxmin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<