×

Python读写Excel

96
一只好奇的茂
2017.05.15 15:48* 字数 297

Python Excel技术对比

  • XlsxWriter,xlrd&xlwt,OpenPyXL,Microsoft Excel API对比


    XlsxWriter,xlrd&xlwt,OpenPyXL,Microsoft Excel API对比
  • XlsxWriter
    这是除Excel自身之外功能最强的工具了。比如有功能:字体设置、前景色背景色、border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、单元格注释、行高和列宽设置等等。
  • xlrd&xlwt
    这个工具虽然易用,但功能相对较弱。其中的xlrd能够读取xlrd和xlsx,功能勉强可以接受。但xlwt只能进行最基本的写入数据和公式,故我一般替代使用XlsxWriter。

建议使用姿势(xlrd+xlsxWriter)

鉴于xlrd的易用及xlsxWriter强大的写数据功能,采用xlrd+xlsxWriter组合的方法更加实用。首先使用xlrd读取xls中的数据,然后新建xlsx文件,并将修改后的数据通过XlsxWriter写入xlsx文件中。

参考代码

import xlsxwriter as wx
import sys
import xlrd

def xlrd_open_excel(file='file.xls'):
    try:
        data = xlrd.open_workbook(file)
        return data
    except Exception, e:
        print str(e)

row_title = ["1","2","3"]
# 创建目的数据表
dst_wb = wx.Workbook('dst.xlsx')

# 打开源数据
data_src = xlrd_open_excel("src.xls")

# 第一行写入行标题
worksheet = dst_wb.add_worksheet()
worksheet_wang = dst_wb.add_worksheet()
for i in range(0, len(row_title)):
    worksheet.write(0, i, row_title[i])

# 读取源数据的第一个sheet
table_src = data_src.sheets()[0]
print table_src.cell(0, 0)

更详细的xlsxwriter和xlrd的用法请参考:
python使用xlsxwriter
python使用xlrd
python模块:xlsxwriter和xlrd相结合读取、写入excel文件

Python
Web note ad 1