python将excel转换为csv的代码方法总结
作者:laozhang 发布时间:2022-09-16 02:20:48
标签:python,excel,csv
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文件结束 ')


猜你喜欢
- 问题描述当前环境win10,python_3.6.1,64位。在windows下,在dos中运行pip install Scrapy报错:b
- 先看函数参数:torch.flatten(input, start_dim=0, end_dim=-1)input: 一个 tensor,即
- 前言列表(list)同字符串一样都是有序的,因为他们都可以通过切片和索引进行数据访问,且列表是可变的。创建列表的几种方法第一种name_li
- 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512
- 之前在网上看过好多关于mysql.sock不见的问题,并没有关注这个东西存在的意义,直到自己的mysql也出现了相同的问题。让人纠结了一把…
- 支持lrc歌词,IE only 代码未加密且有详细注释,希望对做音乐页面的朋友有帮助。 如果大家还有什么好多播放器,告诉我,我好参
- 效果图如下所示:实现代码如下:<!DOCTYPE html><html lang="zh-cn">
- 代码class Shuxing(): def __init__(self, size = 10): s
- webpack代码拆分webpack有两种组织模块依赖的方式,同步和异步。异步依赖作为分割点,形成一个新的块,在优化了依赖树后,每一个异步区
- #!/usr/bin/python# -*- coding: utf-8 -*-class TreeNode(object): &
- 这也许是学习一门语言时大家都会问的一个问题,其实我个人认为无所谓哪个最好,关键在于哪个用着顺手,方便。还有很多人乐于去做排名,去看排名,哪个
- Hello,World,几乎是程序猿学习各种语言的第一个程序,心血来潮,有空拿主流开发语言如何实现,汇总并整理了下.包括大致快速了解下这门语
- Web性能优化最佳实践中最重要的一条是减少HTTP请求,它也是YSlow中比重最大的一条规则。减少HTTP请求的方案主要有合并JavaScr
- SQL一些语句执行后出现异常不会回滚MySQL回滚问题SQL中会隐式提交的操作:1、DDL语句:ALTER DATABASE、ALTER E
- 更新MySQL随意字段里的数据下面是我的mysql所有字段名若字段名太多不建议使用以下方法这里sql语句要注意一下双引号里面用单引号.def
- ASCII码转换为int:ord('A') 65int转为ASCII码:chr(65) 'A'题目内容:实现
- 图像处理工具——灰度直方图灰度直方图时图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率。例子:矩阵图片来自网络,侵删!上
- 在我们平时的开发过程中,为了方便调试程序,我们都是打开开发者模式,即Debug=True,当我们正式上线的时候肯定就需要把开发者模式关掉,用
- 方法一(只有mdf没有日志文件的可以恢复) 证明有效 1.新建同名数据库。 2.把该数据库设置为脱机。 3.删除其日志文件(.LDF),不删
- 前言最近用 Vue 写项目的时候,用到 axios ,因为 axios 不能用 Vue.use() (详细介绍可以参考这篇文章),所以在每个