【发布时间】:2019-02-23 21:51:14
【问题描述】:
我编写了一个 Python 小程序,以便使用 Pandas、gzip 和 shutil 库从几个压缩的 gzip 文件中提取数据(.csv 文件)。提取 .csv 文件后,它们将合并为一个大的 .csv 唯一文件。
我的程序支持 Python 版本 2.7 和 3.7。
在构建一个 .exe 以更轻松地使用这个小程序并与没有安装 Python 的计算机兼容时,我犯了错误,因为它不起作用。
这是我从 PyInstaller 执行 .exe 的主文件夹:
注意:“00000(0)”文件是没有扩展名的.gzip,里面只有一个.csv文件,也没有扩展名。
你有办法解决这个问题吗?
这是我在实际执行时从终端得到的:
创建.exe的终端命令:
pyinstaller.exe --clean --onefile Convierte_Rar_En_Csv_Final.py --name Transforma2 --hidden-import numpy
版本:
- Python:2.7.15
- pyinstaller: 3.4(为了安装这个库,我刚刚从here 下载了文件夹,然后将其移动到
C:\YourPythonEnviroment\Lib\site-packages\PyInstaller-3.4,最后在我进入文件夹 PyInstaller-3.4python setup.py install后从终端制作。)李> - 熊猫:0.24.0
- numpy:1.16.0
- pytz: 2018.9
- wxPython 4.0.4
- 设置工具:40.8.0
- python-dateutil: 2.8.0
我的程序代码:
def DescomprimeYUne(path):
import pandas as pd
import gzip , shutil
import numpy
results = pd.DataFrame([])
for filename in os.listdir(path):
pathFile = path + filename
if filename != __file__.split("/")[-1] and not os.path.isdir(pathFile):
# # Descomprimo fichero
with gzip.open(pathFile, 'rb') as f_in:
with open(pathFile + '.csv', 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
# Borro fichero original
os.remove(pathFile)
# Concateno a CSV final
namedf = pd.read_csv(pathFile + ".csv", skiprows=0)
results = results.append(namedf)
# Borro fichero csv
os.remove(pathFile + '.csv')
results.to_csv(path + "final.csv")
if __name__ == "__main__":
DescomprimeYUne("./")
我也关注了this tutorial,但它对我不起作用。
【问题讨论】:
标签: python pandas numpy pyinstaller