python将excel转换为csv的代码方法总结


Posted in Python onJuly 03, 2019

python:如何将excel文件转化成CSV格式

import pandas as pd
data = pd.read_excel('123.xls','Sheet1',index_col=0)
data.to_csv('data.csv',encoding='utf-8')

将Excel文件转为csv文件的python脚本

#!/usr/bin/env python 
__author__ = "lrtao2010"
'''
Excel文件转csv文件脚本
需要将该脚本直接放到要转换的Excel文件同级目录下
支持xlsx 和 xls 格式
在同级目录下生成名为excel_to_csv.csv 的文件,采用UTF-8编码
'''
import xlrd
import csv
import os
#生成的csv文件名
csv_file_name = 'excel_to_csv.csv'
def get_excel_list():
  #获取Excel文件列表
  excel_file_list = []
  file_list = os.listdir(os.getcwd())
  for file_name in file_list:
    if file_name.endswith('xlsx') or file_name.endswith('xls'):
      excel_file_list.append(file_name)
  return excel_file_list
def get_excel_header(excel_name_for_header):
  #获取表头,并将表头全部变为小写
  workbook = xlrd.open_workbook(excel_name_for_header)
  table = workbook.sheet_by_index(0)
  #row_value = table.row_values(0)
  row_value = [i.lower() for i in table.row_values(0)]
  return row_value
def read_excel(excel_name):
  #读取Excel文件每一行内容到一个列表中
  workbook = xlrd.open_workbook(excel_name)
  table = workbook.sheet_by_index(0) #读取第一个sheet
  nrows = table.nrows
  ncols = table.ncols
  # 跳过表头,从第一行数据开始读
  for rows_read in range(1,nrows):
    #每行的所有单元格内容组成一个列表
    row_value = []
    for cols_read in range(ncols):
      #获取单元格数据类型
      ctype = table.cell(rows_read, cols_read).ctype
      #获取单元格数据
      nu_str = table.cell(rows_read, cols_read).value
      #判断返回类型
      # 0 empty,1 string, 2 number(都是浮点), 3 date, 4 boolean, 5 error
      #是2(浮点数)的要改为int
      if ctype == 2:
        nu_str = int(nu_str)
      row_value.append(nu_str)
    yield row_value

def xlsx_to_csv(csv_file_name,row_value):
  #生成csv文件
  with open(csv_file_name, 'a', encoding='utf-8',newline='') as f: #newline=''不加会多空行
    write = csv.writer(f)
    write.writerow(row_value)
if __name__ == '__main__':
  #获取Excel列表
  excel_list = get_excel_list()
  #获取Excel表头并生成csv文件标题
  xlsx_to_csv(csv_file_name,get_excel_header(excel_list[0]))
  #生成csv数据内容
  for excel_name in excel_list:
    for row_value in read_excel(excel_name):
      xlsx_to_csv(csv_file_name,row_value)
  print('Excel文件转csv文件结束 ')

以上就是2种实例方法,感谢大家的阅读和对三水点靠木的支持。

Python 相关文章推荐
Python使用Supervisor来管理进程的方法
May 28 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
python flask中静态文件的管理方法
Mar 20 Python
python中的decorator的作用详解
Jul 26 Python
图文详解python安装Scrapy框架步骤
May 20 Python
python 动态迁移solr数据过程解析
Sep 04 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
wxPython实现带颜色的进度条
Nov 19 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 #Python
python实现控制COM口的示例
Jul 03 #Python
python pandas时序处理相关功能详解
Jul 03 #Python
在linux下实现 python 监控usb设备信号
Jul 03 #Python
django-allauth入门学习和使用详解
Jul 03 #Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 #Python
Python使用线程来接收串口数据的示例
Jul 02 #Python
You might like
在Windows版的PHP中使用ADO
2006/10/09 PHP
五个PHP程序员工具
2008/05/26 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
php curl 上传文件代码实例
2015/04/27 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
PHP中empty,isset,is_null用法和区别
2017/02/19 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
Python实现图片转字符画的示例代码
2017/08/21 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Python正则表达式学习小例子
2020/03/03 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
什么是Rollback Segment
2013/04/22 面试题
房地产销售经理岗位职责
2014/01/01 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python
Python闭包的定义和使用方法
2022/04/11 Python