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单链表实现代码实例
Nov 21 Python
跟老齐学Python之Import 模块
Oct 13 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
Python中字符串的修改及传参详解
Nov 30 Python
Python实现的用户登录系统功能示例
Feb 05 Python
对numpy中轴与维度的理解
Apr 18 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
python的内存管理和垃圾回收机制详解
May 18 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
python 生成器需注意的小问题
Sep 29 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
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
js select option对象小结
2013/12/20 Javascript
jquery选择器使用详解
2014/04/08 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
js仿360开机效果
2019/12/26 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
python 输出一个两行字符的变量
2009/02/05 Python
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
linux环境下安装python虚拟环境及注意事项
2020/01/07 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
django跳转页面传参的实现
2020/09/17 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
办理生育手续介绍信
2014/01/14 职场文书
运动会通讯稿150字
2014/02/15 职场文书
高中军训感想800字
2014/02/23 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
邀请书格式范文
2015/02/02 职场文书
导游词之西递宏村
2019/12/10 职场文书