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 27 Python
结合Python的SimpleHTTPServer源码来解析socket通信
Jun 27 Python
python处理html转义字符的方法详解
Jul 01 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
Python类的继承和多态代码详解
Dec 27 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
Python3删除排序数组中重复项的方法分析
Jan 31 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
scrapy头部修改的方法详解
Dec 06 Python
python math模块的基本使用教程
Jan 16 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
ThinkPHP之getField详解
2014/06/20 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
Python单元测试框架unittest简明使用实例
2015/04/13 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
python实现一组典型数据格式转换
2018/12/15 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
演讲主持词
2014/03/18 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python