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  __getattr__与__setattr__使用方法
Sep 06 Python
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
在Python中使用第三方模块的教程
Apr 27 Python
python写日志封装类实例
Jun 28 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
基于Python的ModbusTCP客户端实现详解
Jul 13 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
python梯度下降算法的实现
Feb 24 Python
Python爬虫实现vip电影下载的示例代码
Apr 20 Python
基于PyTorch中view的用法说明
Mar 03 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
Jun 09 Python
详解Python函数print用法
Jun 18 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 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
django静态文件加载的方法
2018/05/20 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
如何利用cmp命令比较文件
2016/04/11 面试题
公司门卫岗位职责
2014/03/15 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
教师节倡议书
2014/08/30 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
工商局个人工作总结
2015/03/03 职场文书
国家助学金受助感言
2015/08/01 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
如何使用pdb进行Python调试
2021/06/30 Python
如何基于python实现单目三维重建详解
2022/06/25 Python