.py文件在py.exe中运行不正常,在eclips中工作

2024-05-10 14:34:40 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有一个简单的python脚本,它使用odbc驱动程序连接到数据库,获取数据帧并存储它/覆盖excel文件。当我使用eclipse运行脚本时,它运行得很好。但是,当我右键单击.py文件并用py.exe打开它时,excel文件不会被覆盖/保存

最终,我希望其他用户能够安装python,只需双击一个.py脚本即可更新excel文件。有人知道为什么不能使用右键单击方法吗?我检查的时候他们应该用同一个翻译

import pyodbc
import pandas as pd



cnxn = pyodbc.connect('Driver={ODBC Driver (x64)};'
                       'DSN=MyDSN;'
                       'Server=ServerAddress;'
                       'Database=Stuff;')

t1 = "table1"


sql = ("select * " + "from " + t1)


writer = pd.ExcelWriter("MyExcelFile.xlsx")
dframe = pd.read_sql(sql,cnxn)
aggDf = dframe.groupby(['DEPARTMENT']).sum()
dframe.to_excel(writer,"RawSalesData", index = False)
aggDf.to_excel(writer, "SalesStats")

writer.save()
writer.close()

下面是运行Jacob在注释中建议的sys代码的结果。似乎两种方法都匹配

sys.version_info(major=3, minor=6, micro=5, releaselevel='final', serial=0)
[
'C:\\Users\\persona\\PythonWorkSpace\\TestPython', 
'C:\\Users\\persona\\anaconda3', 
'C:\\Users\\persona\\anaconda3\\DLLs', 
'C:\\Users\\persona\\anaconda3\\libs', 
'C:\\Users\\persona\\anaconda3\\pkgs', 
'C:\\Users\\persona\\anaconda3\\conda-meta', 
'C:\\Users\\persona\\anaconda3\\envs', 
'C:\\Users\\persona\\anaconda3\\etc', 
'C:\\Users\\persona\\anaconda3\\include', 
'C:\\Users\\persona\\anaconda3\\Lib', 
'C:\\Users\\persona\\anaconda3\\Library', 
'C:\\Users\\persona\\anaconda3\\man', 
'C:\\Users\\persona\\anaconda3\\Menu', 
'C:\\Users\\persona\\anaconda3\\Scripts', 
'C:\\Users\\persona\\anaconda3\\share', 
'C:\\Users\\persona\\anaconda3\\sip', 
'C:\\Users\\persona\\anaconda3\\tcl', 
'C:\\Users\\persona\\anaconda3\\Tools', 
'C:\\WINDOWS\\system32', 
'C:\\Users\\persona\\Anaconda3\\python36.zip', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages\\win32', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages\\win32\\lib', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages\\Pythonwin'
]
^ right click method
--------------------

sys.version_info(major=3, minor=6, micro=5, releaselevel='final', serial=0)
[
'C:\\Users\\persona\\PythonWorkSpace\\TestPython', 
'C:\\Users\\persona\\PythonWorkSpace\\TestPython', 
'C:\\Users\\persona\\anaconda3', 
'C:\\Users\\persona\\anaconda3\\DLLs', 
'C:\\Users\\persona\\anaconda3\\libs', 
'C:\\Users\\persona\\anaconda3\\pkgs', 
'C:\\Users\\persona\\anaconda3\\conda-meta', 
'C:\\Users\\persona\\anaconda3\\envs', 
'C:\\Users\\persona\\anaconda3\\etc', 
'C:\\Users\\persona\\anaconda3\\include', 
'C:\\Users\\persona\\anaconda3\\Lib', 
'C:\\Users\\persona\\anaconda3\\Library', 
'C:\\Users\\persona\\anaconda3\\man', 
'C:\\Users\\persona\\anaconda3\\Menu', 
'C:\\Users\\persona\\anaconda3\\Scripts', 
'C:\\Users\\persona\\anaconda3\\share', 
'C:\\Users\\persona\\anaconda3\\sip', 
'C:\\Users\\persona\\anaconda3\\tcl', 
'C:\\Users\\persona\\anaconda3\\Tools', 
'C:\\Program Files\\eclipse', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages\\win32', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages\\win32\\lib', 
'C:\\Users\\persona\\Anaconda3\\lib\\site-packages\\Pythonwin', 
'C:\\Users\\persona\\Anaconda3\\python36.zip'
]

Tags: 文件py脚本sqllibpackagessiteexcel
1条回答
网友
1楼 · 发布于 2024-05-10 14:34:40

生成如下python文件:

from sys import version_info, path
print(version_info)
print(path)

然后试着用你提到的两种方法打开。结果应该匹配,如果不匹配,那就是你的问题。如果它们匹配,您应该添加更多的日志记录/异常处理,这样我们就可以了解失败的原因

相关问题 更多 >