python脚本实现xls(xlsx)转成csv


Posted in Python onApril 10, 2016

# xls_csv

把xls,xlsx格式的文档转换成csv格式

# 使用
python xls2csv.py <xls or xlsx file path>

# -*- coding: utf-8 -*-
import xlrd
import xlwt
import sys
from datetime import date,datetime
 
def read_excel(filename):
 
  workbook = xlrd.open_workbook(filename)
  # print sheet2.name,sheet2.nrows,sheet2.ncols
  sheet2 = workbook.sheet_by_index(0)
  
  for row in xrange(0, sheet2.nrows):
    rows = sheet2.row_values(row)
    def _tostr(cell):
      if type(u'') == type(cell): 
        return "\"%s\"" % cell.encode('utf8')
      else:
        return "\"%s\"" % str(cell) 
  
    print ','.join([_tostr(cell) for cell in rows ])
  
if __name__ == '__main__':
  filename = sys.argv[1]
  read_excel(filename)

再给大家分享一则代码

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

python#coding: utf-8
# 依赖openpyxl库:http://openpyxl.readthedocs.org/en/latest/

from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
import csv
import os
import sys

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(' ', '_'))

 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)
Python 相关文章推荐
Django日志模块logging的配置详解
Feb 14 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
python+rsync精确同步指定格式文件
Aug 29 Python
python ctypes库2_指定参数类型和返回类型详解
Nov 19 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
python语言是免费还是收费的?
Jun 15 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
Python try except else使用详解
Jan 12 Python
VSCODE配置Markdown及Markdown基础语法详解
Jan 19 Python
Python使用gensim计算文档相似性
Apr 10 #Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 #Python
python调用fortran模块
Apr 08 #Python
python3使用urllib模块制作网络爬虫
Apr 08 #Python
Python抓取电影天堂电影信息的代码
Apr 07 #Python
Python Requests安装与简单运用
Apr 07 #Python
Python Requests 基础入门
Apr 07 #Python
You might like
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
php强制下载文件函数
2016/08/24 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
Javascript对象属性方法汇总
2013/11/21 Javascript
javascript闭包入门示例
2014/04/30 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
JS的数组迭代方法
2015/02/05 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
JS异步错误捕获的一些事小结
2019/04/26 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
python pdb调试方法分享
2014/01/21 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python序列类型的打包和解包实例
2019/12/21 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
电气工程及其自动化专业求职信
2014/06/23 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
电影圆明园观后感
2015/06/03 职场文书
初一英语教学反思
2016/02/15 职场文书
会计专业自荐信范文
2019/05/22 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android