xlsx文件解析处理:openpyxl库 csv文件格式生成:csv

来源:互联网 发布:java 线程局部变量 编辑:程序博客网 时间:2024/05/18 04:20
xlsx文件解析处理:openpyxl库

csv文件格式生成:csv

#coding: utf-8# 依赖openpyxl库:http://openpyxl.readthedocs.org/en/latest/from openpyxl import Workbookfrom openpyxl.compat import rangefrom openpyxl.cell import get_column_letterfrom openpyxl import load_workbookimport csvimport osimport sysdef 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(' ', '_'))            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__':    if len(sys.argv) != 2:        print('usage: xlsx2csv <xlsx file name>')    else:        xlsx2csv(sys.argv[1])    sys.exit(0)


0 0