python:excel文件转csv
0. 使用库
xlsx文件解析处理: openpyxl库
csv文件格式生成:csv
1. 导入openpyxl
模块
import openpyxl #导入模块openpyxl
openpyxl
是第三方模块,需要先安装pip install openpyxl
2. 读取文件
workbook = openpyxl.load_workbook('info.xlsx') #获取表格文件
3. 获取目标sheet
sheet:EXCEL
默认打开时一般有多个工作表:Sheet1
、Sheet2
、Sheet3
…,Sheet1
是其中的一个工作表。如果需要的话,可以在工作簿中新建多个工作表。
获取工作簿中所有工作表名称
import openpyxl
workbook = openpyxl.load_workbook('info.xlsx') #获取表格文件
sheets = workbook.sheetnames
print(sheets,type(sheets))
print(sheets[0])
结果:
[‘info’, ‘Sheet1’, ‘Sheet2’] <class ‘list’>
info
知道目标sheet名称
import openpyxl
workbook = openpyxl.load_workbook('info.xlsx') #获取表格文件
workbook_sheet = workbook["info"] #获取表单
print(workbook_sheet.cell(row=1,column=1).value) #输出表单第一行第一列的值
结果:
电影名
注意:get_sheet_by_name()方法已经未使用了,继续使用会出现警告:DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
案例:
import openpyxl workbook = openpyxl.load_workbook('info.xlsx') #获取表格文件 workbook_sheet = workbook.get_sheet_by_name("info") #获取表单 print(workbook_sheet.cell(row=1,column=1).value) #输出表单第一行第一列的值
""" 输出结果 e:\python\shuju\ceshi.py:3: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).workbook_sheet = workbook.get_sheet_by_name("info") #获取表单 电影名 """
获取活跃sheet
import openpyxl workbook = openpyxl.load_workbook('info.xlsx') #获取表格文件
workbook_sheet = workbook.active #获取活跃表格
print(workbook_sheet.title) #获取活跃表格名称
结果:
info
遇到的问题
1、处理数据时,正常存储显示的中文在写入到csv文件时变成了乱码,文件的编码未能正确处理中文,需要在写入csv文件时指定编码。
2、写入多出一行空白行
with open(filename, 'a', newline='', encoding='utf-8-sig') as f:
完整代码
def xlsx_to_csv(filename1, filename2):workbook = openpyxl.load_workbook(filename1)table = workbook.active# utf-8-sig: 可以解决中文乱码问题with open(filename2,"w", encoding="utf-8-sig") as f:write = csv.writer(f)data = []for i in range(1,table.max_row+1):row_stack = []for j in range(1,table.max_column+1):row_stack.append(table.cell(row=i,column=j).value)data.append(row_stack)write.writerows(data)
个人博客:风铃扬音
本文链接:python自动化:excel文件转csv
python:excel文件转csv相关推荐
- python excel文件转为csv文件_python实现将excel文件转化成CSV格式
python实现将excel文件转化成CSV格式 如下所示: import pandas as pd data = pd.read_excel('123.xls','Sheet1',index_col ...
- Python - Excel文件与CSV文件相互转化
Excel文件转化成CSV - pandas #excel文件转化成csv import pandas as pdfile='E:\\pythondata\\union\\test_3.xlsx' o ...
- python转csv_python脚本如何将Excel文件转为csv文件(代码)
本篇文章给大家带来的内容是关于python脚本如何将Excel文件转为csv文件(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.#!/usr/bin/env python __ ...
- python csv转excel_将Excel文件转为csv文件的python脚本
将Excel文件转为csv文件的python脚本 #!/usr/bin/env python __author__ = "lrtao2010" ''' Excel文件转csv文件脚 ...
- Python之EXCEL文件转换为CSV文件
Python之EXCEL文件转换为CSV文件@TOC 依赖库:pandas.pathlib.os,Python版本3.9.7 手头有10000+的excel文件,每个文件只有一个sheet,10000 ...
- 轻松实现excel文件与csv文件的相互转换
轻松实现excel文件与csv文件的相互转换 excel(.xlsx)转换为.csv文件** import pandas as pddef xlsx_to_csv_pd():data_xls = pd ...
- python中nrows_sheet.nrows有一个错误的值 – python excel文件
sheet.nrows有一个错误的值 – python excel文件 我有一个很奇怪的问题 我试图从Excel文件中读取一些数据,但属性nrows有一个错误的值. 尽pipe我的文件有很多行,但它只 ...
- java代码实现excel文件转换为csv文件
java代码实现excel文件转换为csv文件 pom文件导入 <dependencies><dependency><groupId>org.springframe ...
- python导入csv文件-Python读写文件(csv、txt、excel)
大家做在数据处理的时候,肯定难免会与文件交互,那么对于指定的文件类型,我们如何操作呢? 1.python读写csv文件 import csv #python2可以用file替代open with op ...
最新文章
- 华硕路由器安装aria2_网易UU加速器联动华硕,瞄准主机玩家联网刚需
- 获取预制和获取gameObject
- Mybatis教程-实战看这一篇就够了
- Nginx —— nginx负载均衡的详细配置 以及 使用案例详解.
- 475. Heaters
- Javascript 面向对象编程定义接口的一种方法
- 在 Azure Functions 上使用不同的路由前缀
- jvm垃圾回收机制_深入理解JVM的垃圾回收机制
- 通过data目录恢复数据库数据(mysql5.7.22)
- php final什么意思,php final关键字的应用
- 关于u-boot中的.balignl 16,0xdeadbeef的理解
- Git:撤销回滚操作
- 华为路由器时间同步_4G网络变WIFI,华为4G路由2 Pro让上网变得更简单
- 【聚会】2014圣诞北京版主聚餐-淘虾记“光辉岁月”版
- 【浙江省第16届省赛J:】Welcome Party(并查集+优先队列bfs遍历)
- 索引超出了数组界限(Microsoft.SqlServer.Smo)
- xshell的注册码
- java影院票务管理系统项目开发计划
- 打开word时,出现“向程序发送命令时出现问题”的解决方法
- 养成备份的习惯的重要性