python 通过使用pandas的实现的Excel的批量转换CSV文件的处理
---恢复内容开始---
最近同事在处理文件导入的时候需要把一批文件换成CSV的格式,但是直觉修改后缀是不生效的,而且xlsx和xls的文件没法直接换成CVS的文件,所以找了一下方式,并且自己实现了python的转换方式。代码如下
文件需要导入pandas 还要引入xlrd
代码是基于python3.6的环境。
import pandas as pd
import os # 读取一个目录里面的所有文件:
def read_path(path):
dirs = os.listdir(path)
return dirs def getpath(dir):
# pwd = os.getcwd()
# father_path=os.path.abspath(os.path.dirname(pwd)+os.path.sep+".")
file_path = '/Users/XXXX/Desktop'#桌面路径地址,地址可以根据自己需要修改
full_path=file_path+'/'+dir+'/'
return full_path #数据源Excel如果有多个sheet,那么则需要一一遍历输出
def xlsdata_to_csv(xlsx_data,tag_path):
for K, V in xlsx_data.items():
tag_file = tag_path + K + '.csv'
if not V.empty:
V.to_csv(tag_file, encoding='utf_8_sig') def main():
source_path = getpath('test2')#存放excel文件
tag_path = getpath('test3')#输出csv的文件
dir = read_path(source_path)
for i in dir :
source_file = source_path+i
xlsx_data = pd.read_excel(source_file, sheet_name=None)
csv_path = tag_path+i.split('.')[0]#因为文件包含两个.所以分割时候做了特殊处理
xlsdata_to_csv(xlsx_data,csv_path) if __name__ == '__main__': main()
---恢复内容结束---
最近同事在处理文件导入的时候需要把一批文件换成CSV的格式,但是直觉修改后缀是不生效的,而且xlsx和xls的文件没法直接换成CVS的文件,所以找了一下方式,并且自己实现了python的转换方式。代码如下
文件需要导入pandas 还要引入xlrd
代码是基于python3.6的环境。
import pandas as pd
import os # 读取一个目录里面的所有文件:
def read_path(path):
dirs = os.listdir(path)
return dirs def getpath(dir):
# pwd = os.getcwd()
# father_path=os.path.abspath(os.path.dirname(pwd)+os.path.sep+".")
file_path = '/Users/XXXX/Desktop'#桌面路径地址,地址可以根据自己需要修改
full_path=file_path+'/'+dir+'/'
return full_path #数据源Excel如果有多个sheet,那么则需要一一遍历输出
def xlsdata_to_csv(xlsx_data,tag_path):
for K, V in xlsx_data.items():
tag_file = tag_path + K + '.csv'
if not V.empty:
V.to_csv(tag_file, encoding='utf_8_sig') def main():
source_path = getpath('test2')#存放excel文件
tag_path = getpath('test3')#输出csv的文件
dir = read_path(source_path)
for i in dir :
source_file = source_path+i
xlsx_data = pd.read_excel(source_file, sheet_name=None)
csv_path = tag_path+i.split('.x')[0]#因为文件包含两个.所以分割时候做了特殊处理
xlsdata_to_csv(xlsx_data,csv_path) if __name__ == '__main__': main()
python 通过使用pandas的实现的Excel的批量转换CSV文件的处理的更多相关文章
- 【游戏开发】Excel表格批量转换成CSV的小工具
一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就 ...
- 解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG
解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6 ...
- 【游戏开发】Excel表格批量转换成lua的转表工具
一.简介 在上篇博客<[游戏开发]Excel表格批量转换成CSV的小工具> 中,我们介绍了如何将策划提供的Excel表格转换为轻便的CSV文件供开发人员使用.实际在Unity开发中,很多游 ...
- python爬取当当网的书籍信息并保存到csv文件
python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...
- python脚本-excel批量转换为csv文件
pandas和SQL数据分析实战视频教程 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2& ...
- 使用 Pandas 的 to_excel() 方法来将多个 csv 文件合并到一个 xlsx 的不同 sheets 内
这几天在用 Python3 研究一个爬虫,最后一个需求是把爬下来的20+个csv文件整合到一个excel表里的不同sheets. 初版的核心代码如下: while year <= 2018: c ...
- python 把多个list合并为dataframe并输出到csv文件
import pandas as pd a = [1,2,3] b = ['a','b','c'] test = pd.DataFrame({'a_list':a,'b_list':b}) 将两个列表 ...
- Python:使用pymssql批量插入csv文件到数据库测试
并行进程怎么使用? import os import sys import time def processFunc(i): time.sleep(10-i) print i if __name__= ...
- 解决Excel打开UTF-8编码CSV文件乱码的问题
打开 Excel,执行“数据”->“自文本”,选择 CSV 文件,出现文本导入向导,选择“分隔符号”,下一步,勾选“逗号”,去掉“ Tab 键”,下一步,完成,在“导入数据”对话框里,直接点确定 ...
随机推荐
- Cesium专栏-绕点飞行效果(附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- vue中使用props传递参数
通常,父组件的模板中包含子组件,父组件要正向地向子组件传递数据或参数,子组件收到后根据参数的不同来渲染不同的内容,或者执行操作. 这个正向传递数据的过程是通过props来实现的. 在组件中,子组件使用 ...
- android笔记--Intent和IntentFilter详解
本文转载自:https://www.cnblogs.com/liushengjie/archive/2012/08/30/2663066.html 本文转载自:https://www.cnblogs. ...
- DevOps VS 职责分离
原文地址: https://medium.com/@jeehad.jebeile/devops-and-segregation-of-duties-9c1a1bea022e 原文作者:Jeehad J ...
- Java中的“scanf()、cin()、input()"
最近在写一个Java程序时遇到一个问题,就是如何在Java里面输入数值,又叫做获取键盘输入值. 因为c语言里面有scanf(),C++里面有cin(),python里面有input().Java里面有 ...
- win7下安装MySQL5.7教程
MySQL官网下载5.7 zip安装包 地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 1.解压mysql-5.7.14-wi ...
- Cisco pppoe上网设置
1.配置虚拟端口: interface Dialer1 ip address negotiated ip nat outside ip virtual-reassembly in encapsulat ...
- LeetCode 5271. 访问所有点的最小时间 Minimum Time Visiting All Points
地址 https://leetcode-cn.com/problems/minimum-time-visiting-all-points/submissions/ 题目描述平面上有 n 个点,点的位置 ...
- NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver ...
显卡驱动找不到解决方案:亲测有效 step1:sudo apt-get install dkms step2: sudo dkms install -m nvidia -v 390.129 nvi ...
- Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
docker pull nginx 遇到这个问题 Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: ...