Мне нужно взять файл csv в качестве аргумента функции и как пример кода, который у меня есть:
import openpyxl
from openpyxl import load_workbook
import csv
import xlrd
def supermarket(filename):
dictionary = {}
with open(filename, newline='') as filename:
read_csv = csv.reader(filename, delimiter=',')
for row in read_csv:
dictionary += row[0]
dictionary[row[0]] = row[1]
return dictionary
print(supermarket(prices1.csv))
Однако, когда я отлаживаю код, ошибка трассировки говорит, что это NameError, для которого
цены1
не определено. Мой профессор говорит мне, что мой аргумент должен иметь возможность принимать price1.csv в качестве аргумента, но я не понимаю, как это возможно.
Если это удобно, используйте библиотеку pandas для более эффективного управления CSV файлом.
Ваш код на самом деле относится к члену csv
переменных prices1
, который, очевидно, не существует. Имя файла должно быть строкой. Таким образом, ваш код может быть изменен на это (предполагается, что файл csv находится в том же каталоге, что и ваш рабочий каталог):
import openpyxl
from openpyxl import load_workbook
import csv
import xlrd
def supermarket(filename):
dictionary = {}
with open(filename, newline='') as filename:
read_csv = csv.reader(filename, delimiter=',')
for row in read_csv:
dictionary += row[0]
dictionary[row[0]] = row[1]
return dictionary
print(supermarket("prices1.csv"))