- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请原谅标题。这只是我遇到的一个非常奇怪的错误。当我尝试将两个 xls 文件和一个 csv 文件拉入数据帧时,出现此错误:
FileNotFoundError: [Errno 2] No such file or directory: '.\\pa-dirty-price-crawler\\goldman_folder\\Trade_Detail_GSCO_GREAT_AJAX_OPERATING_PARTNERSHIP_L.P._COB08_Apr_2020_19_1586111993954.xls'
当我这样做时出现错误:
nomura = get_nomura_df_by_date(start_date)
jpm = get_jpm_df_by_date(start_date)
gs = get_goldman_df_by_date(start_date)
现在,如果我注释掉 nomura 或 jpm,则完全没有错误。换句话说,如果我这样做
# nomura = get_nomura_df_by_date(start_date)
jpm = get_jpm_df_by_date(start_date)
gs = get_goldman_df_by_date(start_date)
然后我完全没有收到任何错误,这很奇怪。 xls 和 csv 文件都在我工作区的不同文件夹中,即我有一个文件夹用于 goldman,一个用于 nomura,一个用于 jpm。
完整代码如下:
import win32com.client
import os, zipfile
import pandas as pd
import pyodbc
import sql_utils as sql
import datetime as dt
import time
import xlrd
output_file = r"C:\Users\morgan.weiss\workspace\pa-dirty-price-crawler\output\All_Bond_Repos.xlsx"
def get_jpm_zip():
Outlook = win32com.client.Dispatch("Outlook.Application")
olNs = Outlook.GetNamespace("MAPI")
Inbox = olNs.GetDefaultFolder(6)
Filter = ("@SQL=" + chr(34) + "urn:schemas:httpmail:subject" +
chr(34) + " Like '%JPMS Statement%' AND " +
chr(34) + "urn:schemas:httpmail:hasattachment" +
chr(34) + "=1")
Items = Inbox.Items.Restrict(Filter)
dates = []
for a in Items:
dates.append(a.senton.date())
for Item in Items:
for attachment in Item.Attachments:
attachment.SaveAsFile(r"C:\\Users\\morgan.weiss\\workspace\\pa-dirty-price-crawler\\jpm_folder\\" + attachment.FileName)
return dates
def get_nomura_csv():
Outlook = win32com.client.Dispatch("Outlook.Application")
olNs = Outlook.GetNamespace("MAPI")
Inbox = olNs.GetDefaultFolder(6)
Filter = ("@SQL=" + chr(34) + "urn:schemas:httpmail:subject" +
chr(34) + " Like '%Nomura (NSI) Repo%' AND " +
chr(34) + "urn:schemas:httpmail:hasattachment" +
chr(34) + "=1")
Items = Inbox.Items.Restrict(Filter)
dates = []
for a in Items:
dates.append(a.senton.date())
dates_attachment_map = {}
i = 0
for Item in Items:
for attachment in Item.Attachments:
dates_attachment_map[dates[i]] = attachment.FileName
i+=1
attachment.SaveAsFile(r"C:\\Users\\morgan.weiss\\workspace\\pa-dirty-price-crawler\\nomura_folder\\" + attachment.FileName)
return dates_attachment_map
def get_goldman_csv():
Outlook = win32com.client.Dispatch("Outlook.Application")
olNs = Outlook.GetNamespace("MAPI")
Inbox = olNs.GetDefaultFolder(6)
Filter = ("@SQL=" + chr(34) + "urn:schemas:httpmail:subject" +
chr(34) + " Like '%Repo Margin Summary from GOLDMAN SACHS%' AND " +
chr(34) + "urn:schemas:httpmail:hasattachment" +
chr(34) + "=1")
Items = Inbox.Items.Restrict(Filter)
dates = []
for a in Items:
dates.append(a.senton.date())
dates_attachment_map = {}
i = 0
for Item in Items:
for attachment in Item.Attachments:
if 'Trade_Detail_GSCO_GREAT_AJAX' in attachment.FileName:
dates_attachment_map[dates[i]] = attachment.FileName
i+=1
attachment.SaveAsFile(r"C:\\Users\\morgan.weiss\\workspace\\pa-dirty-price-crawler\\goldman_folder\\" + attachment.FileName)
return dates_attachment_map
def unzip_jpm_files():
jpm = get_jpm_zip()
dir_name = r'C:\Users\morgan.weiss\workspace\pa-dirty-price-crawler\jpm_folder'
extension = ".zip"
os.chdir(dir_name) # change directory from working dir to dir with files
jpm_map = {}
i = 0
for item in os.listdir(dir_name): # loop through items in dir
if item.endswith(extension): # check for ".zip" extension
file_name = os.path.abspath(item) # get full path of files
zip_ref = zipfile.ZipFile(file_name) # create zipfile object
zip_ref.extractall(dir_name, pwd=b'qpsqpwsr') # extract file to dir
zip_ref.close() # close file
os.remove(file_name) # delete zipped file
for item in os.listdir(dir_name):
if item.endswith(".xls"):
file_name = os.path.abspath(item)
jpm_map[jpm[i]] = file_name
i+=1
return jpm_map
def get_jpm_data_frames(path_name):
wb = xlrd.open_workbook(path_name, logfile=open(os.devnull, 'w'))
df = pd.read_excel(wb,skiprows=4,engine='xlrd')
return df
def get_nomura_data_frames(file_name):
dir_name = '.\\pa-dirty-price-crawler\\nomura_folder'
path_name = os.path.join(dir_name, file_name)
df = pd.read_csv(path_name)
return df
def get_gs_data_frames(file_name):
dir_name = '.\\pa-dirty-price-crawler\\goldman_folder'
path_name = os.path.join(dir_name, file_name)
print(os.path.isfile(path_name))
df = pd.read_excel(path_name,skiprows=9, nrows=12)
return df
def get_data_from_sql():
cnxn = pyodbc.connect(sql.connection_string)
df = pd.read_sql(sql.get_bond_repos,con=cnxn)
return df
def compare_dates(mail_date, date_time):
return mail_date.year == date_time.year and mail_date.month == date_time.month and mail_date.day == date_time.day
def get_jpm_df_by_date(date):
jpm_map = unzip_jpm_files()
time.sleep(10)
jpm_df = pd.DataFrame()
jpm_df = get_jpm_data_frames(jpm_map[date])
return jpm_df
def get_nomura_df_by_date(date):
nomura_map = get_nomura_csv()
time.sleep(10)
nomura_df = pd.DataFrame()
nomura_df = get_nomura_data_frames(nomura_map[date])
return nomura_df
def get_goldman_df_by_date(date):
goldman_map = get_goldman_csv()
time.sleep(10)
goldman_df = pd.DataFrame()
goldman_df = get_gs_data_frames(goldman_map[date])
return goldman_df
def edit_isin(df):
df['ISIN'] = df['ISIN'].apply(lambda x: x[2:])
df['ISIN'] = df['ISIN'].apply(lambda x: x[:-1])
return df
x = '2020-04-09'
start_date = dt.datetime.strptime(x, "%Y-%m-%d")
start_date = start_date.date()
df = get_data_from_sql()
# nomura = get_nomura_df_by_date(start_date)
gs = get_goldman_df_by_date(start_date)
jpm = get_jpm_df_by_date(start_date)
# gs = edit_isin(gs)
# df = df.set_index('Cusip').join(gs.set_index('ISIN'))
# print(df.head())
# df.to_excel(output_file, index=False)
注意我去掉了我的名字,在帖子里写了“usr_name”。我对这个错误感到困惑,我不知道它为什么会崩溃。
编辑:
我开始确定问题所在。当我只是调用函数来获取 zip 文件夹时,代码运行正常,当我尝试获取所有数据帧时解压缩文件夹时会出现问题。也许这可能会添加一些你们可以指出的解决方案的细节。
最佳答案
我修复了我的代码,奇怪的修复只是按此顺序获取数据帧:
nomura = get_nomura_df_by_date(start_date)
gs = get_goldman_df_by_date(start_date)
jpm = get_jpm_df_by_date(start_date)
然后神奇地没有错误...为什么?我不知道...
关于python - 将三个 csv/xls 文件拉入数据帧会导致找不到其中一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61257767/
我正在尝试从 json 数据中获取事件日历。我只想突出显示日期,并在用户单击日期时在日历下方更新一个包含事件详细信息的 div。我的应用以以下形式提供 JSON: [ {"Date":"02/06
今天是我玩 GCR 和 GKE 的第一天。如果我的问题听起来很幼稚,请道歉。 所以我在 GCR 中创建了一个新的注册表。它是私有(private)的。使用 this文档,我使用命令获取了我的访问 to
我一直在尝试从 Meteor 内部的 Mongo 中提取一个数组,但我似乎无法让它工作。我能够很好地插入它。任何帮助将不胜感激。这是我的 html: {{#each employee.sch
我有一个 (datetime.timedelta(0, 7200) 的对象对于 2:00:00我正在尝试将其转换为 2.0两个小时。分别如果我有datetime.timedelta(0, 9000)
我刚刚开始学习 Hadoop,我想知道以下问题:假设我有一堆我想要分析的大型 MySQL 生产表。 似乎我必须将所有表转储到文本文件中,以便将它们带入 Hadoop 文件系统——这是否正确,或者是否有
我不想提交一些已更改的文件(例如 web.config)。在拉取并更新到新的变更集之前,我必须将它们搁置起来。拉取和更新后,我必须将它们取消搁置。 我目前正在使用 TortoiseHG。有没有任何扩展
这个项目的背景。一开始是一项简单的家庭作业,要求我存储 5 个邮政编码及其对应的城市。当用户在文本框中输入邮政编码时,会返回对应的城市,反之亦然。我编写了返回这些值的代码,但后来我决定将所有邮政编码及
最新的 Google Newsstand 应用程序具有 ActionBar 和 ViewPager 选项卡栏,当向下滚动下方的列表时,它们会缓慢地显示屏幕顶部。 重要的是,它以与滚动列表相同的速度缓和
此脚本可以出色地将电子邮件提取到我的工作表中。我的问题是该函数只提取列出的前两个字段。例如,getPlainBody、getSubject - 尽管需要更多字段。因此,我没有使用一个函数来提取我需要的
我正在提取一些会有所不同的 JSON 数据...例如: 返回的数据可能是: [{"userID":"2779","UserFullName":" Absolute Pro-Formance"},{"u
我正试图从 Firebase 获取报价,但我很挣扎。当然,我也不知道我在做什么。我需要一些帮助! 在 Firebase 中,我的报价设置如下: root --> quotes --> quoteID
我将 UIRefreshControl 与 UICollectionView 一起使用。刷新有效,但 View 在拉动后不会停留在顶部(与 uitableview 一样)。有没有办法让这个坚持下去,还
我用来提取提要标题的脚本是: "; foreach($x->channel->item as $entry) { echo "link' title='$entry->title'>" .
我一直无法从 excel 中获取单元格值并在 word 宏中使用它们(我正在尝试在 word doc 中的各种书签处插入来自工作表单元格的字符串值)。现在我只是想能够访问单元格值,但我想出了一个错误
我正在尝试为 PhoneGap 设置一个 JSON 查询,该查询会提取通过 Expression Engine template 创建的 JSONP .如果我直接导航到我的 JSON 页面,htt
所以我有一个 Xcode 项目,我从注册页面获取字段,然后推送它们进行解析。我有另一个 View ,其中我有标签,我想将这些自定义字段从 Parse 拉入其中。 这是我存储数据的方式: 让我的用户:P
在 Matlab 中,我使用类似于以下的语句从 mySQL 数据库中提取数据: SELECT PrimaryKeyVar, Var1, MyDate, Var2, Var3 FROM MyDataba
在系统限制下工作,我需要一种方法将本地 .php 或 .html 中的工作代码放入目标 div 中,而无需额外的库、jfiddle、iframe 等(jquery 就可以) 这是我失败的尝试。 文件的
设置场景: 我已经设置了一个多节点Kubernetes cluster并部署了Jenkins Helm Chart与 Jenkins Kubernetes plugin .我们在(公司)内部运行企业
Controller : def get_nodes ... render :text => nodes.to_json.to_s end 它呈现有效的 JSON(它由我的 chrome 插件
我是一名优秀的程序员,十分优秀!