• 自己总结python用xlrdxlwt读写excel


    1.首先安装xlrdxlwt模块

    xlrd模块下载地址:

    https://pypi.python.org/pypi/xlrd

    xlwt模块下载地址:

    https://pypi.python.org/pypi/xlwt

    linux 安装命令 python setup.py install

    windos 安装命令 setup.py install

    2.使用方法大全

    基础方法推荐请看这里:

    http://blog.csdn.net/mr__fang/article/details/7089581

    简单方法+例子:

    http://www.jb51.net/article/65550.htm

    稍微深入一点:

    http://www.jb51.net/article/57699.htm

    3.自己使用的总结

    1.平时的使用看基础方法推荐的博客就够了.

    2.写小程序的时候遇到个问题,首先新建一个

    file = xlwt.Workbook() #注意这里的Workbook首字母是大写,无语吧
    
    table = file.add_sheet('sheet name',cell_overwrite_ok=True)#新建一个sheet,并加重复操作参数

    然后开始写

    table.write(0,0,'姓名')
    table.write(1,0,'张三')
    #写了N多行... 

    table.write(999,0,'李四')

    保存一份

    file.save('一班信息.xls')

    然后想用同样的首行(这里首行只写了一行,实际有很多,姓名,学好,性别,婚否,巴拉巴拉)

    写另一份excel,就比如上面的是一班,这里写二班把

    table.write(1,0,'小王') #这里是二班的小王同学
    #写了n多行,但是二班人比较少,很奇葩
    table.write(10,0,'小赵')
    #二班只有10个人!!

    保存另一份

    file.save('二班信息.xls')

    然后我们打开二班信息,你会发现出来前10个二班本来的信息之外,

    11~999一班的同学全跑到二班来了?!!

    解决办法

    table.wirte(11,0,'')#用空代替掉
    #写了n多行,实际程序中用For,
    #这里表示下要很辛苦的解决这个私自"转班"的事..
    table.wirte(999,0,'')#全部用空替换

    最后再保存

    file.save('正确的二班信息.xls')

    到此,我想总结的第二条结束

    3.linux下保存用中文名保存正常,windos下坑爹乱码问题

    #coding:utf8
    
    file.save('世界你好')#linux正常,win乱码
    
    file.save(u'世界你好'.encode('GBK'))# win正常

    谢谢阅读,欢迎关注,互相学习!~

  • 相关阅读:
    [LintCode] Valid Palindrome 验证回文字符串
    [LeetCode] 378. Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
    [LintCode] Integer to Roman 整数转化成罗马数字
    [LintCode] Roman to Integer 罗马数字转化成整数
    [LintCode] Scramble String 爬行字符串
    [LintCode] Count and Say 计数和读法
    [LintCode] Simplify Path 简化路径
    [LintCode] Length of Last Word 求末尾单词的长度
    [LintCode] Valid Parentheses 验证括号
    [LeetCode] 377. Combination Sum IV 组合之和之四
  • 原文地址:https://www.cnblogs.com/frankcoder/p/4522864.html
Copyright © 2020-2023  润新知