将 python 文件导入另一个文件(在子目录中)时,它停止在同一目录中查找 csv
When import a python file into another (in a subdirectory) it stops finding the csv in the same directory
我正在尝试像这样在管理器文件中导入清理文件:
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath("cleaning.py")))
from cleaning import df_invoices_full
主文件夹包含文件清理、交易列表和一个名为“apps”的子文件夹,其中包含管理器文件:
另请注意,清理文件读取交易 listing.csv 文件。
我在 运行 时遇到的问题是:
FileNotFoundError: [Errno 2] No such file or directory: 'Transaction Listing.csv'
并且“事务 Listings.csv”已通过清理正确加载,但在将清理导入 maganagers 时未正确加载。
感谢您的帮助。
#-- cleaning.py --#
import os
import pandas as pd
csv_filename = "Transaction Listings.csv"
folder = os.path.dirname(os.path.abspath(__file__))
path_to_csv = os.path.join(folder, csv_filename)
df_invoices_full = pd.read_csv(path_to_csv, encoding="latin-1")
在 cleaning.py
中使用此代码,而不是您当前的代码。
发生的事情是,当 cleaning.py
导入 apps/managers.py
时,它在 apps
文件夹中运行,而不是 CSV 文件所在的基本文件夹中。通过给出绝对路径,pd.read_csv()
将在正确的位置查找文件 - cleaning.py
实际所在的目录。参见 what does the __file__ variable mean/do?.
我正在尝试像这样在管理器文件中导入清理文件:
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath("cleaning.py")))
from cleaning import df_invoices_full
主文件夹包含文件清理、交易列表和一个名为“apps”的子文件夹,其中包含管理器文件:
另请注意,清理文件读取交易 listing.csv 文件。
我在 运行 时遇到的问题是:
FileNotFoundError: [Errno 2] No such file or directory: 'Transaction Listing.csv'
并且“事务 Listings.csv”已通过清理正确加载,但在将清理导入 maganagers 时未正确加载。
感谢您的帮助。
#-- cleaning.py --#
import os
import pandas as pd
csv_filename = "Transaction Listings.csv"
folder = os.path.dirname(os.path.abspath(__file__))
path_to_csv = os.path.join(folder, csv_filename)
df_invoices_full = pd.read_csv(path_to_csv, encoding="latin-1")
在 cleaning.py
中使用此代码,而不是您当前的代码。
发生的事情是,当 cleaning.py
导入 apps/managers.py
时,它在 apps
文件夹中运行,而不是 CSV 文件所在的基本文件夹中。通过给出绝对路径,pd.read_csv()
将在正确的位置查找文件 - cleaning.py
实际所在的目录。参见 what does the __file__ variable mean/do?.