发布于 2016-01-01 14:45:49 | 460 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

XLSX Go读取xlsx文件的库

XLSX 是一个 Google go 的库,用来读取 xlsx 文件。


示例代码:

#!/usr/bin/python
# -*- coding:utf-8 -*-
#python 2.7

from openpyxl import load_workbook
import csv
import os,sys

reload(sys)
sys.setdefaultencoding('utf8')

def xlsx2csv(filename):
    try:
        xlsx_file_reader = load_workbook(filename=filename)
        for sheet in xlsx_file_reader.get_sheet_names():
            # 每个sheet输出到一个csv文件中,文件名用xlsx文件名和sheet名用'_'连接
            csv_filename = '{xlsx}_{sheet}.csv'.format(
                xlsx=os.path.splitext(filename.replace(' ', '_'))[0],
                sheet=sheet.replace(' ', '_'))
            #生成文件将xlsx文件内容写入到csv中
            csv_file = file(csv_filename, 'wb')
            csv_file_writer = csv.writer(csv_file)
            sheet_ranges = xlsx_file_reader[sheet]
            for row in sheet_ranges.rows:
                row_container = []
                for cell in row:
                    if type(cell.value) == unicode:
                        row_container.append(cell.value.encode('utf-8'))
                    else:
                        row_container.append(str(cell.value))
                csv_file_writer.writerow(row_container)
            csv_file.close()

    except Exception as e:
        print e

if __name__ == '__main__':
    #如脚本后没有跟xlsx的文件名将不会执行
    if len(sys.argv) != 2:
        print 'usage: xlsx2csv <xlsx file name>'
    else:
        xlsx2csv(sys.argv[1])
    sys.exit(0)


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务