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 时间操作例子和时间格式化参数小结
Apr 24 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
浅述python2与python3的简单区别
Sep 19 Python
pandas每次多Sheet写入文件的方法
Dec 10 Python
Python同步遍历多个列表的示例
Feb 19 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
接口自动化多层嵌套json数据处理代码实例
Nov 20 Python
关于python中remove的一些坑小结
Jan 04 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在各种web服务器的运行模式详解
2013/06/03 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python lambda和Python def区别分析
2014/11/30 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
Python中optparser库用法实例详解
2018/01/26 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
python使用递归的方式建立二叉树
2019/07/03 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
django 模型中的计算字段实例
2020/05/19 Python
Python如何对齐字符串
2020/07/30 Python
python中Django文件上传方法详解
2020/08/05 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
营业经理岗位职责
2013/11/10 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
庆元旦活动总结
2014/07/09 职场文书
黄石寨导游词
2015/02/05 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
用Python实现Newton插值法
2021/04/17 Python
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Pandas自定义选项option设置
2021/07/25 Python