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查看多台服务器进程的脚本分享
Jun 11 Python
详解Python的Django框架中的模版相关知识
Jul 15 Python
python直接访问私有属性的简单方法
Jul 25 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
在python中对变量判断是否为None的三种方法总结
Jan 23 Python
python dlib人脸识别代码实例
Apr 04 Python
django 装饰器 检测登录状态操作
Jul 02 Python
利用Python的folium包绘制城市道路图的实现示例
Aug 24 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 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
一个odbc连mssql分页的类
2006/10/09 PHP
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
jQuery对象[0]是什么含义?
2010/07/31 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
python保存文件方法小结
2018/07/27 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
python利用线程实现多任务
2020/09/18 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
python openssl模块安装及用法
2020/12/06 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
手机配件第一品牌:ZAGG
2017/05/28 全球购物
秸秆管理实施方案
2014/03/15 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
导游词之西安骊山
2019/12/20 职场文书