【发布时间】:2017-11-19 01:40:59
【问题描述】:
我一直在使用 pyinstaller 制作 .exe 文件以退出很长时间。我已经制作了一些 .exe 文件并将其分发到所有工作正常
今天我创建了一个应用程序来从多个 .html 文件中读取表格并创建一个合并的 excel 文件。
脚本运行正常,但我无法将该代码转换为 .exe 文件。我安装了 pyinstaller 和所有依赖项,并且能够将其他代码转换为 .exe。它只是这个不起作用
请检查下面的代码
import sys
import os
import pandas as pd
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit, QFileDialog
from PyQt5.QtGui import QIcon
class Window(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui(self)
def init_ui(self,Consolidate):
Consolidate.setObjectName("Consolidate")
Consolidate.resize(410, 300)
self.progressBar = QtWidgets.QProgressBar(Consolidate)
self.progressBar.setGeometry(QtCore.QRect(20, 220, 381, 23))
self.progressBar.setProperty("value", 0)
self.progressBar.setObjectName("progressBar")
self.pushButton = QtWidgets.QPushButton(Consolidate)
self.pushButton.setGeometry(QtCore.QRect(320, 30, 51, 21))
self.pushButton.setObjectName("browse")
self.lineEdit = QtWidgets.QLineEdit(Consolidate)
self.lineEdit.setGeometry(QtCore.QRect(20, 30, 291, 21))
self.lineEdit.setObjectName("lineEdit")
self.pushButton_2 = QtWidgets.QPushButton(Consolidate)
self.pushButton_2.setGeometry(QtCore.QRect(140, 250, 131, 41))
self.pushButton_2.setObjectName("go")
self.textBrowser_2 = QtWidgets.QTextEdit(Consolidate)
self.textBrowser_2.setGeometry(QtCore.QRect(20, 70, 351, 141))
self.textBrowser_2.setObjectName("textBrowser_2")
self.retranslateUi(Consolidate)
QtCore.QMetaObject.connectSlotsByName(Consolidate)
def retranslateUi(self, Consolidate):
_translate = QtCore.QCoreApplication.translate
Consolidate.setWindowTitle(_translate("Consolidate", "Consolidate Excel"))
self.pushButton.setText(_translate("Consolidate", "Browse"))
self.lineEdit.setPlaceholderText(_translate("Consolidate", "Please Browse The Target Folder"))
self.pushButton_2.setText(_translate("Consolidate", "Go"))
self.pushButton.clicked.connect(self.fname)
self.pushButton_2.clicked.connect(self.go)
folder = str()
def fname(self):
global folder
file = str(QFileDialog.getExistingDirectory(self, "Select Folder"))
folder = (file)
print (folder)
self.lineEdit.setText(folder)
def go(self):
import pandas as pd
dflist = list()
for file in os.listdir(folder):
path = os.path.join(folder, file)
if os.path.isdir(path) or file == "QtoolAssigned.xlsx":
continue
else:
print(file)
self.textBrowser_2.append(file[7:-28])
df = pd.read_html(path)
df = df[0].dropna(axis=0, thresh=4)
df['Team Name'] = str(file[7:-28])
dflist.append(df)
concatdf = pd.concat(dflist,axis=0)
concatdf.to_excel(folder+'\\'+'QtoolAssigned.xlsx', index=None)
self.progressBar.setProperty("value",100)
if __name__=='__main__':
app = QtWidgets.QApplication(sys.argv)
ex = Window()
ex.show()
app.exec_()
sys.exit(app.exec_())
【问题讨论】:
-
您希望看到什么,而您看到的是什么诊断信息?
-
我期待一个 UI,我可以在其中浏览一些文件并在输出中获取合并文件,但我收到了错误消息......“执行失败。主”
标签: python-3.x pandas pyqt5 pyinstaller