将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文件结束 ‘)

原文地址:https://www.cnblogs.com/lrtao2010/p/9718131.html

时间: 2024-10-09 19:56:50

将Excel文件转为csv文件的python脚本的相关文章

使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件

使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www.python.org/downloads/ 安装 PySide2:安装 python 后,在安装目录下有 /script 文件夹,里面有 pip.exe ,cmd执行:pip install PySide,pip install PySide2(注意: python2.x 对应 PySide,py

js操作一般文件和csv文件

js操作一般文件和csv文件 将文本文件读成字符串 <input type="file" id="upload"> document.getElementById("upload").addEventListener("change", function() { var files = this.files; if(files.length == 0) { console.log("没有文件")

SQLite新建数据库及txt文件(CSV文件)导入

1.安装准备: Windows系统环境: 安装:SQLiteExpert  及 官网的SQLite tool  我们要用到其中的SQLite.exe       地址:https://www.sqlite.org/download.html 2.新建数据库 打开cmd:键入以下命令:D:\sqlite-tools-win32-x86-3280000\sqlite3.exe  test1.db (test.db是新建数据库名称)    回车 去该文件夹下查看是否建库成功. 3.打开SQLiteEx

python中如何将csv文件转为xls文件

废话开端 要实现将csv文件转换为xls文件,就需要用到python中非常强大的第三方库---pandas.之前基本没用过pandas,对它可以说是一点都不了解,但是最近在工作中要经常处理各种Excel.csv文件,就不得不用到了,也还是处于学习阶段,一边学习,一边总结记录.那我们都知道pandas不仅可以操作Excel,csv,而且还可以处理json.pickle.html.table等等各种类型的数据.功能强大,非常实用,深受广大程序猿的喜爱,实属开发之必备良品啊! 代码实现 from io

Python学习之旅-10-文件储存:txt文件、csv文件、json文件

1.存储数据txt文件. 1.1 实例: # 1 存储 txt 文件 data = '''我是一个txt文件''' # 存储的文件名:file='test.txt' # 文件打开方式:mode='a' # 编码格式:encoding='UTF-8' with open(file='test.txt',mode='a',encoding='UTF-8') as f : f.write(data) # 保存内容 f.close() # 关闭文件 1.2 打开文件的不同模式: 模式 描述 r r,以只

Excel开发学习笔记:读取xml文件及csv文件

读取xml文件 有好多种读取xml的方式,xmlDOM比较常见,我使用了另外一种,它以数据流的方式打开文件并读取内容 Imports System.Xml  Dim group As New List(Of String)  Using reader As XmlReader = XmlReader.Create(OpenFileDialog2.FileName)      While reader.ReadToFollowing("group")          reader.Mo

关于python文件转为exe文件

一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从 http://prdownloads.sourceforge.net/py2exe下载

用opencsv文件读写CSV文件

首先明白csv文件长啥样儿: 用excel打开就变成表格了,看不到细节 推荐用其它简单粗暴一点儿的编辑器,比如Notepad++, csv文件内容如下: csv文件默认用逗号分隔各列. 有了基础的了解就进入主题,用Opencsv读写csv文件 读:CSVReader 写:CSVWriter 下面分别来看一下opencsv为我们提供的方法(这里只介绍最常用的几个): 读:CSVReader 构造器中涉及三个参数: reader:就是读取文件的流对象,常用的有BufferedReader,Input

将Rmarkdown文件转为pdf文件

knitr包只能够将R markdown文件转为html格式,若想要将其转化为pdf格式,还要安装另一个包 # Install and load package install.packages("rmarkdown") library("rmarkdown") # Convert render("../Your_MD_File.md", output_format="pdf_document") Reference http