首页 > 生活 > python 制作命令行excel 转cvs exe

python 制作命令行excel 转cvs exe

2019年5月6日

这个小东西借鉴了大神的代码,修改的传递参数与编码问题,刚开始的时可以转换,转换后的cvs用excel打开就是乱码,用notepad++一看编码是utf-8的,excel根本就不认,最后加上 encoding=’utf-8’解决保存cvs的编码问题,读取时也加上,转换后的cvs用excel读取就没有问题了!这个程序直接转换excel工作簿的第一个表格为cvs,满满的正能量解决了其他程序不能解决的问题,python真的很强大,高大上,就是打包后的exe文件有点大。

此代码 在win10,python3.7下编译完成。

下图是转换完成的结果

# -*- coding:utf-8 –*-
#!/usr/bin/python3
”’
程序用来将excel批量转换为csv文件。指定源路径和目标路径。
在main函数中指定源文件路径source,目标文件路径ob.
输出文件的编码gb2312
这个程序假设Excel文件放在:c:\CDDE 这个是源目录
输出csv文件到:c:\ccd 这个是目的目录
接收两个参数 一个是源目录 一个是目的目录
例如:module1.exe c:\CDDE c:ccd

#导入pandas
import pandas as pd
import os, sys

#建立单个文件的excel转换成csv函数,file 是excel文件名,to_file 是csv文件名。
def excel_to_csv(file,to_file):
data_xls=pd.read_excel(file,sheet_name=0, encoding=’utf-8′)#读取的文件编码为utf-8
data_xls.to_csv(to_file,encoding=”GB2312″)#cvs文件编码gb2312

#读取一个目录里面的所有文件:
def read_path(path):
dirs=os.listdir(path)
print(os.listdir(path))
return dirs

#主函数
def main():
#源文件路径
#source=r”C:/Users/admin/Desktop/新建文件夹/code”
source=sys.argv[1]
ob=sys.argv[2]
print(“参数1”, source)
print(“参数2”, ob)
#目标文件路径
#ob=”C:/Users/admin/Desktop/新建文件夹/cc”

#将源文件路径里面的文件转换成列表file_list
print(read_path(source))
file_list=[source+’\\’+i for i in read_path(source)]
j=1
#建立循环对于每个文件调用excel_to_csv()
for it in file_list:
#给目标文件新建一些名字列表
j_mid=str(j)
j_csv=ob+’\\’+j_mid+”.csv”
excel_to_csv(it,j_csv)
print(it)
j=j+1

if __name__ == ‘__main__’:
main()

下载地址

生活 浏览1 次

本文的评论功能被关闭了.