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刷投票的脚本实现代码
Nov 08 Python
解读Python编程中的命名空间与作用域
Oct 16 Python
python 的列表遍历删除实现代码
Apr 12 Python
Pycharm学习教程(2) 代码风格
May 02 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
python 内置模块详解
Jan 01 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
python中return如何写
Jun 18 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
用Python将GIF动图分解成多张静态图片
Jun 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
百度地图API使用方法详解
2015/08/25 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
layui select 禁止点击的实现方法
2019/09/05 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
python里大整数相乘相关技巧指南
2014/09/12 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
Python如何访问字符串中的值
2020/02/09 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
Java语言程序设计测试题改错题部分
2014/07/22 面试题
部队领导证婚词
2014/01/12 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
离职保密承诺书
2014/05/28 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android