.py文件不py.exe正常运行,工作在日食

问题描述 投票:0回答:1

您好我有一个使用ODBC驱动程序连接到一个数据库获得数据帧,并将其存储/覆盖一个excel文件的简单python脚本。当我使用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()

下面是运行在评论由雅各布提出的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'
]
python excel database pandas pyodbc
1个回答
0
投票

作出这样一个Python文件:

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

然后尝试用你所提到的这两种方法打开。结果应该一致,如果他们不那么有您的问题。如果它们匹配,则应该增加更多的记录/异常处理,所以我们可以看到为什么失败。

© www.soinside.com 2019 - 2024. All rights reserved.