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编写一个简单的FUSE文件系统的教程
Apr 02 Python
Python中的集合类型知识讲解
Aug 19 Python
Python+Turtle动态绘制一棵树实例分享
Jan 16 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
python 制作一个gui界面的翻译工具
May 14 Python
Python机器学习之PCA降维算法详解
May 19 Python
Pytorch中Softmax和LogSoftmax的使用详解
Jun 05 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 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实现数组按拼音顺序排序的方法
2017/05/03 PHP
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
js中的面向对象入门
2017/03/06 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
详解微信小程序(Taro)手动埋点和自动埋点的实现
2021/03/02 Javascript
python的pdb调试命令的命令整理及实例
2017/07/12 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
python绘制热力图heatmap
2020/03/23 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
python实现图片中文字分割效果
2019/07/22 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
python中return的返回和执行实例
2019/12/24 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
计算机专业推荐信范文
2013/11/27 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
仓管岗位职责范本
2014/02/08 职场文书
学校四群教育实施方案
2014/06/12 职场文书
岗位安全生产责任书
2014/07/28 职场文书
责任书格式范文
2014/07/28 职场文书
计划生育个人总结
2015/03/02 职场文书
公司老总年会致辞
2015/07/30 职场文书
MySQL时区造成时差问题
2022/04/13 MySQL
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android