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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
python中lambda()的用法
Nov 16 Python
Python使用一行代码获取上个月是几月
Aug 30 Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 Python
python自定义线程池控制线程数量的示例
Feb 22 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
浅析matlab中imadjust函数
Feb 27 Python
在python中求分布函数相关的包实例
Apr 15 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
基于FME使用Python过程图解
May 13 Python
Python偏函数Partial function使用方法实例详解
Jun 17 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
谈一谈收音机的高放电路
2021/03/02 无线电
PHP 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
jquery JSON的解析方式
2009/07/25 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
jQuery.each使用详解
2015/07/07 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
Python3实现生成随机密码的方法
2014/08/23 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
工作失误检讨书范文大全
2014/01/13 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
求职信名称怎么写
2014/05/26 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
springboot读取resources下文件的方式详解
2022/06/21 Java/Android
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript