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 相关文章推荐
Python使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
python使用fileinput模块实现逐行读取文件的方法
Apr 29 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
Python协程的用法和例子详解
Sep 09 Python
django中静态文件配置static的方法
May 20 Python
django缓存配置的几种方法详解
Jul 16 Python
python实现二维插值的三维显示
Dec 17 Python
python 随机森林算法及其优化详解
Jul 11 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 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
linux iconv方法的使用
2011/10/01 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
Python AES加密模块用法分析
2017/05/22 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
2015年食品安全宣传周活动总结
2015/07/09 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
七年级作文之秋游
2019/10/21 职场文书