В дальнейшем я пытаюсь немного упростить мне анализ CSV, поэтому я создал небольшой файл, чтобы я мог запустить parse_csv.toList('data.csv')
и вернуть список в свой сценарий. Вот как выглядит импортированный файл parse_csv.py :
parse_csv.py
import csv
def toList(file_location_name):
result_list = []
with open(file_location_name) as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
result_list.append(row)
return result_list
Вот как я называю это в моих скриптах, которые пытаются использовать этот файл:
import-test.py
import parse_csv
print(
parse_csv.toList('../data.csv')
)
Я получаю следующую ошибку при запуске import-test.py :
Error
Traceback (most recent call last):
File "{system path placeholder}\directory-test\import-test.py", line 5, in <module>
parse_csv.toList('../data.csv')
File "{system path placeholder}\parse_csv.py", line 6, in toList
with open(file_location_name) as csv_file:
FileNotFoundError: [Errno 2] No such file or directory: '../data.csv'
Структура моего текущего проекта выглядит так
Project
|
|--parse_csv.py
|--data.csv
|--directory-test
|
|--import-test.py
Моя первая мысль: когда я вызываю open
, '../data.csv'
относительно ссылается в соответствии с файлом parse_csv.py вместо предполагаемого import-test.py файл.
Я просто хочу сделать так, чтобы parse_csv.py можно было импортировать куда угодно, и он будет учитывать относительные пути к файлам в вызывающем файле.
Пожалуйста, дайте мне знать, если мне нужно быть более ясным. Я знаю, что моя формулировка может сбивать с толку.
Редактировать для ясности: цель состоит в том, чтобы вызвать только parse_csv.toList()
и заставить его принять строку относительного пути к файлу, который его вызвал.