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

©著作权归作者所有:来自51CTO博客作者lrtao2010的原创作品,如需转载,请注明出处,否则将追究法律责任

lrtao2010

43篇文章,22W+人气,0粉丝

个人记载,别无它用,如有侵权,请告知改正

python csv转excel_将Excel文件转为csv文件的python脚本相关推荐

  1. python转csv_python脚本如何将Excel文件转为csv文件(代码)

    本篇文章给大家带来的内容是关于python脚本如何将Excel文件转为csv文件(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.#!/usr/bin/env python __ ...

  2. Python 批量将.xlsx文件转为.xls文件

    工作需要,需要向xls文件里写入数据.由于xlrd\xlwt写入的数据不带格式,只好把xls模板先转为xlsx格式,用openpyxl批量写入完后再批量转为xls. 百度找的转换实例,实际应用时生成的 ...

  3. Python将txt文件转为json文件

    python将txt文件转为json文件 txt文件中内容: [*]www.xiaoyang.1 [*]www.xiaoyang.12 [*]www.xiaoyang.135 [*]www.xiaoy ...

  4. php把excel转换成pdf文件下载,laravel怎么可以把excel文件转为pdf文件?

    laravel怎么可以把excel文件转为pdf文件? 尝试用PHPOffice/PhpSpreadsheet转换,写了个函数,如下: 备注:PhpSpreadsheet是PHPExcel的新版,ht ...

  5. elsx文件转为csv并隔三取一

    elsx文件转为csv并隔三取一 import csv import pandas as pd#转换xlsx文件为csv文件 def xlsx_to_csv_pd():data_xls = pd.re ...

  6. tif文件转为shp文件_从Tif文件转为shp文件(ArcMap,代码)、gdal打包问题

    从Tif文件转为shp文件(ArcMap,代码) 利用ArcMap来进行转换,以预测出来的滨海湿地图像为例 第一步:打开ArcMap中的栅格转面工具 ArcMap中的栅格转面工具 点击栅格转面之后,选 ...

  7. tensorflow的ckpt文件转为npy文件

    我们迁移模型参数时,需要将ckpt文件转为npy文件,以VGG19为例: """ 将ckpt文件转化为npy文件 """import num ...

  8. ipynb文件转为py文件的两种方法

    项目场景及问题描述: 许多GitHub上的项目拉下来是.ipynb格式,如果不用jupyter notebook打开,用pycharm打开,看到的是一个个cells,看代码逻辑不太方便:或者通过jup ...

  9. txt文件转为mat文件

    ** MATLAB .txt文件转为.mat文件** 在近红外光谱matlab数据处理中,我们获得的数据并不都是.mat文件,也有可能是.csv或.txt文件,如何将这些文件转为.mat 文件呢? 以 ...

最新文章

  1. thinkphp5项目--企业单车网站(七)
  2. matlab怎么分析一段音频,Matlab分析音频
  3. 详解SDR/DDR/DDR2/SDRAM的功能及异同
  4. redis 安装后不能使用
  5. Excel有用的函数(ISBLANK,IF,LEFT,VALUE)
  6. 【MATLAB】求点到多边形的最短距离
  7. JS导出txt文本文件,Netsuite方案
  8. 三菱plc 毕设_PLC漏型和源型输入有何不同?
  9. 一年多的远程办公带给我的感悟
  10. c语言中用分数表示结果,C语言实例 计算分数的精确值
  11. Spring源码之getBean(获取 bean)方法(一)解读
  12. ActiveReport报表模板库新增21张报表模板,加入报表导出功能!
  13. python简易计算器界面_python 简易计算器
  14. 腾讯安全发布《零信任解决方案白皮书》
  15. INS/GNSS组合导航(五)惯性器件的主要误差
  16. 图片怎么转换成png格式?
  17. 阿里投资分众,大战在即的电梯广告市场却有本糊涂账?
  18. Mac 更新port卡住怎么办?
  19. IAR 设置TAB代码格式问题
  20. 为什么绝对收敛级数具有可交换性+为什么一般项级数不能使用比较判别法/等价判别法?

热门文章

  1. java建立线性表的链式结构,数据结构学习----线性表的链式表示(Java实现)
  2. real time linux pdf,【整理】ubuntu real time Linux
  3. .net 实时通信_【WebSocket】实时多人答题对战游戏
  4. 1110: 最近共同祖先(函数专题)
  5. HttpServletRequestWrapper使用技巧(自定义session和缓存InputStream)
  6. mysql 查看锁_别吵吵,分布式锁也是锁
  7. java url 本地文件是否存在_我的应用程序知道URL中是否存在文件会一直停止[重复]...
  8. 小说中场景的功能_《流浪地球》:从小说到电影
  9. TVM:源码编译安装
  10. x11转发:通过ssh远程使用GUI程序