Python入门:第一个py项目
需求:写一个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']
加入:重新打包,最终成功...
不容易啊!