pandas - Python日期比较在.exe应用程序中不起作用
问题描述
我创建了一个 python 脚本,在 Spyder 中运行它时运行良好。然后我用 pyinstaller 冻结它。当我运行 .exe 应用程序时,我收到以下错误。
以下是相关代码:
import pandas as pd
import os
from datetime import datetime, time
import teradata as td
import numpy as np
import smtplib
import xlrd #needed for .exe
### Import Fleet Plan file ###
path = '\\\PHX43XCIFSC0001\Planning'
folder = '\Aircraft Availability'
file = '\\NP Fleet Plan.xlsx'
sheet = 'Mainline'
colnames = [0,2]
link = path + folder + file
update = pd.Timestamp.date(pd.Timestamp(datetime.fromtimestamp(
os.path.getmtime(link)), unit='s'))
mydata = pd.read_excel(link, sheet_name = sheet, header=colnames, index=None)
df = mydata
# Flatten multiindex to single columns
df.columns = (['{}:{}'.format(i[0], i[1]) for i in df])
df = df.reset_index()
df = df.rename(columns={'index':'mDate', df.columns[1]:'DOW'})
# Remove blank columns and Fleet level columns
xcolunassigned = [col for col in df.columns if 'Unnamed' in col]
df = df.drop(xcolunassigned, axis=1)
xcolfleet = [col for col in df.columns if 'FLEET' in col]
df = df.drop(xcolfleet, axis=1)
# Transpose data in to vectors
dft = pd.melt(df, id_vars=['mDate', 'DOW'], var_name='Status', value_name='mCount')
# Split Subfleets, join Legacy, remove 0 and NaN
dft[['Status', 'SubFleet']] = dft.Status.str.split(':',expand=True)
sDate = min(dft.mDate)
dft = dft.dropna()
dft = dft.reset_index(drop=True)
dft = dft[dft['mCount'] != 0]
dft = dft.reset_index(drop=True)
# Delete all data prior to today
dft = dft[dft['mDate'] >= datetime.combine(datetime.today(), time.min) ]
dft = dft.reset_index(drop=True)
我想知道是否需要像 xlrd 库那样显式导入依赖项。
感谢您的帮助。
解决方案
最终出现了 .exe 没有为我需要的库加载一些依赖项的问题。在我的代码中显式调用依赖项后,.exe 应用程序运行良好。
推荐阅读
- java - 无法让我的复制构造函数在我的简单代码中工作(我是 java 新手)
- r - 有没有办法使用 R 中的一个应用函数来优化这个循环?
- c - 字符串未显示在 C 的控制台中
- python - 简单的 Python 多线程网络服务器,带有 Asyncio 和在主函数中调用的事件
- java - 如何将最后两位小数打印成整数
- c# - Entity Framework Core 使用 CurrentValues.SetValues 从其他实体更新实体属性,由于实体上的主键而失败
- callback - Scrapy:如何从页面爬取并正确返回调用页面?“缺少 1 个必需的位置参数:‘响应’。”
- c++ - 在这种情况下,“必须具有类或枚举类型的参数”是什么意思?
- python - 合并具有相同名称的列 - Python
- amazon-web-services - 如何在项目中部署 AWS CLI,以便以编程方式使用它?