Python开放式CSV

Python开放式CSV,python,csv,Python,Csv,我想在文件夹中打开一个名为x的csv,文件名为“blah.csv” import csv def amread(x): with open('x', newline='') as f: reader = csv.reader(f) for row in reader: print(row) return; amread()返回名称blah.csv未定义 由于缺乏明确性,以下是交互窗格中未经编辑的完整报价:

我想在文件夹中打开一个名为x的csv,文件名为“blah.csv”

import csv
def amread(x):
    with open('x', newline='') as f:
        reader = csv.reader(f)
        for row in reader:
            print(row)
            return;
amread()返回名称blah.csv未定义

由于缺乏明确性,以下是交互窗格中未经编辑的完整报价:

>>> import csv
>>> def amread(x):
...     with open('x', newline='') as f:
...             reader = csv.reader(f)
...             for row in reader:
...                     print(row)
...                     return;
... 
>>> amread(blah.csv)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'blah' is not defined
导入csv >>>def amread(x): ... 以open('x',换行符='')作为f: ... 读卡器=csv。读卡器(f) ... 对于读取器中的行: ... 打印(行) ... 返回; ... >>>amread(blah.csv) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 名称错误:未定义名称“blah” 这将在python名称空间
blah.csv
中查找名称。您没有使用此名称的变量或参数,这会导致错误“name blah.csv未定义”

假设您想要打开一个实际名为blah.csv的文件,您可以将该名称作为字符串传递:

>>> amread('blah.csv')

戴夫·科斯塔的回答是正确的:

amread(blah.csv) 这将在python名称空间blah.csv中查找名称。您没有使用此名称的变量或参数,这会导致错误“name blah.csv未定义”

假设您想要打开一个实际名为blah.csv的文件,您可以将该名称作为字符串传递:

>>> amread('blah.csv')
amread('blah.csv')


熊猫在这方面非常擅长,我通常使用read_csv


需要
导入csv
?可以发布堆栈跟踪吗?这是完整的密码吗?Python的变量区分大小写,并且您的代码没有名为
CSV
的变量。这不是答案。zengr发布链接的csv库包含一个名为“csv.reader”的函数。。。您的代码缺少
导入csv
?这是不正确的…然后将
打开('x',…
更改为
打开('x,…)
,否则您只会打开名为“x”的文件,而不管传入什么。