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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
Python安装第三方库及常见问题处理方法汇总
Sep 13 Python
django上传图片并生成缩略图方法示例
Dec 11 Python
用 Python 连接 MySQL 的几种方式详解
Apr 04 Python
python中返回矩阵的行列方法
Apr 04 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
pymongo中group by的操作方法教程
Mar 22 Python
Python魔法方法 容器部方法详解
Jan 02 Python
pytorch下的unsqueeze和squeeze的用法说明
Feb 06 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服务器实现多session并发运行
2006/10/09 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
jquery.validate使用攻略 第二部
2010/07/01 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
js 图片转base64的方式(两种)
2018/04/24 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
2018/07/06 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
布同自制Python函数帮助查询小工具
2011/03/13 Python
python测试驱动开发实例
2014/10/08 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Python中模块string.py详解
2017/03/12 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
自荐信格式
2013/12/01 职场文书
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js