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 pty:
<_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 pty:
<_csv(tag_file, encoding='utf_8_sig')
def main():
source_path = getpath('test2')#存放excel⽂件
tag_path = getpath('test3')#输出csv的⽂件
python怎么读取xls文件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()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。