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脚本来控制Windows Azure的简单教程
Apr 16 Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
python求最大值,不使用内置函数的实现方法
Jul 09 Python
Django 源码WSGI剖析过程详解
Aug 05 Python
Python数据可视化:箱线图多种库画法
Nov 06 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
python切割图片的示例
Nov 12 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 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 PDO的一些认识小结
2015/01/23 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
python实现C4.5决策树算法
2018/08/29 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
Python 如何在字符串中插入变量
2020/08/01 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
房屋出租协议书
2014/04/10 职场文书
工地材料员岗位职责
2015/04/11 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
用人单位聘用意向书
2015/05/11 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS