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实现单线程多任务非阻塞TCP服务端
Jun 13 Python
python用户管理系统的实例讲解
Dec 23 Python
Python内置模块logging用法实例分析
Feb 12 Python
python实现m3u8格式转换为mp4视频格式
Feb 28 Python
Windows下安装Scrapy
Oct 17 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
基于python实现计算两组数据P值
Jul 10 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 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 运行效率总结(提示程序速度)
2009/11/26 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
python 正则式使用心得
2009/05/07 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
如何通过Python实现标签云算法
2019/07/02 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
总裁办公室主任职责
2014/01/02 职场文书
高三地理教学反思
2014/01/11 职场文书
内科护士节演讲稿
2014/09/11 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
催款通知书范文
2015/04/17 职场文书
获奖感言怎么写
2015/07/31 职场文书
施工安全责任协议书
2016/03/23 职场文书