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元组操作实例解析
Sep 23 Python
Python实现微信公众平台自定义菜单实例
Mar 20 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
Python使用正则表达式实现文本替换的方法
Apr 18 Python
django 常用orm操作详解
Sep 13 Python
python kmeans聚类简单介绍和实现代码
Feb 23 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
python 实现敏感词过滤的方法
Jan 21 Python
python多环境切换及pyenv使用过程详解
Sep 27 Python
Scrapy模拟登录赶集网的实现代码
Jul 07 Python
Python排序函数的使用方法详解
Dec 11 Python
Python图片处理之图片裁剪教程
May 27 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连接mssql数据库的几种方法
2013/02/21 PHP
开启PHP的伪静态模式
2015/12/31 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
浅谈Python基础之I/O模型
2017/05/11 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Python tcp传输代码实例解析
2020/03/18 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
员工培训心得体会
2013/12/30 职场文书
寄语十八大感言
2014/02/07 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
中学团支部工作总结
2015/08/13 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
python入门学习关于for else的特殊特性讲解
2021/11/20 Python