需求:写一个Python文件批量将xlsx生成csv文件
1, 到python 官网下载安装包:https://www.python.org/getit/
2,配置环境变量,类似:Python.exe文件路径C:\Python27放到path中,pip.exe文件路径C:\Python27\Scripts放到path中
3,使用pycharm编译器创建py文件;
# -*- coding:utf-8 -*-
import codecs
import csv
import time
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import xlrd
# -*- coding:utf-8 -*-
import os
import pandas
import time
def gci(filepath):
print(filepath)
files = os.listdir(filepath)
for f1 in files:
fi_d = os.path.join(filepath,f1).encode('gbk')
if os.path.isdir(fi_d):
gci(fi_d)
else:
sufix = os.path.splitext(f1)[1]
print(sufix)
if sufix =='.xlsx':
fi_d1 = os.path.join(filepath, f1)
xlsx_to_csv_pd(fi_d1)
def xlsx_to_csv_pd(file):
dirname = os.path.dirname(file)+"\\csv\\";
basename = os.path.basename(file)
realpath = dirname + basename
if not os.path.exists(dirname):
os.makedirs(dirname)
data_xlsx=pandas.read_excel(file,index_col=0)
data_xlsx.to_csv(realpath[:-5]+".csv",encoding='gbk')
gci(os.getcwd())
其中涉及到import module;如果pycharm不能自动引入,就需要收到引入;
File->setting->Project Interpreter 设置python版本,在+号处搜索引入module
4,将Python文件打包生成exe
py打包需要得执行文件是PyInstaller.exe;
需要先使用pip install Pyinstaller 先进行安装;
pycharm中配置生成打包工具,便于直接打包exe;
file->setting->Tools->External Tools 处点击+号进行配置tool
最终出现:
配置成功;
5.点击 Pyinstall EXE 生成exe文件;
6,执行exe
执行过程中报错:import error :no pandas module???
到处搜索问题,在同事得帮助下找到:
原因是pandas是c源码,而pyInstaller找不到pandas的代码,就算你是-p /lib/site-packages还是不行。
解决方法:
在./Lib/site-packages/PyInstaller/hooks下,新建一个文件名为hook-pandas.py
。写入以下内容并保存。
hiddenimports = ['pandas._libs.tslibs.timedeltas',
'pandas._libs.tslibs.nattype',
'pandas._libs.tslibs.np_datetime',
'pandas._libs.skiplist']
加入:重新打包,最终成功...
不容易啊!