我的函数如何将csv文件作为输入?

时间:2018-07-28 02:39:57

标签: python csv xlrd

我需要将一个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

  

prices1

未定义。我的教授告诉我,我的论点应该能够接受prices1.csv作为论据,但我不知道这是怎么可能的。

2 个答案:

答案 0 :(得分:0)

您的代码实际上是引用变量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"))

答案 1 :(得分:0)

如果方便的话,请使用pandas库以更有效的方式处理CSV文件。