加载csv文件-语法错误:无效语法(python 3.8)

加载csv文件-语法错误:无效语法(python 3.8),python,csv,Python,Csv,我在做一个项目,需要在代码的两个位置添加csv文件。我在stackoverflow看到了类似的问题。但是他们的问题是由于旧的python版本2.5造成的。但是我的python版本是3.8 import csv from tensorflow.keras.datasets import mnist import numpy as np def load_az_dataset("C:\A_Z_Handwritten_Data\A_Z_Handwritten_Data.csv"

我在做一个项目,需要在代码的两个位置添加csv文件。我在stackoverflow看到了类似的问题。但是他们的问题是由于旧的python版本2.5造成的。但是我的python版本是3.8

import csv

from tensorflow.keras.datasets import mnist
import numpy as np

def load_az_dataset("C:\A_Z_Handwritten_Data\A_Z_Handwritten_Data.csv"):
    # initialize the list of data and labels
    data = []
    labels = []

    # loop over the rows of the A-Z handwritten digit dataset
    for row in open("C:\A_Z_Handwritten_Data\A_Z_Handwritten_Data.csv"):
        # parse the label and image from the row
        row = row.split(",")
        label = int(row[0])
        image = np.array([int(x) for x in row[1:]], dtype="uint8")

        # images are represented as single channel (grayscale) images
        # that are 28x28=784 pixels -- we need to take this flattened
        # 784-d list of numbers and repshape them into a 28x28 matrix
        image = image.reshape((28, 28))

        # update the list of data and labels
        data.append(image)
        labels.append(label)

    # convert the data and labels to NumPy arrays
    data = np.array(data, dtype="float32")
    labels = np.array(labels, dtype="int")

    # return a 2-tuple of the A-Z data and labels
    return (data, labels)
它显示了这个语法错误

语法错误是由于在
load\u az\u dataset
的方法声明中传递文本字符串造成的

您需要将函数的参数定义为:

def load_az_dataset(fileName):
此外,如果要添加该文件作为参数的默认值,请使用:

def load_az_dataset(fileName="C:\\A_Z_Handwritten_Data\\A_Z_Handwritten_Data.csv"):
另外,与问题无关,您需要用另一个
\
来逃避
\

尝试:


语法错误是由于文件路径位于函数定义的参数列表中。这就是罪魁祸首:

def load_az_数据集(“C:\A_Z_Handwrited_Data\A_Z_Handwrited_Data.csv”):
函数定义中没有列出任何参数。您只需要一个文本字符串

此外,您还应该使用原始字符串:
r“…”
,或者像其他人提到的那样,避免使用反斜杠


最后,您应该使用带有open(file\u path)的
作为f:
模式来打开您的文件。

尝试
open(r“C:\A\u Z\u handrited\u Data\A\u Z\u handrited\u Data.csv”)
@donnyflow这不是导致OP链接为屏幕截图的语法错误的原因。这不是导致OP链接为屏幕截图的语法错误的原因。感谢您指向@blorgon,我已更新了描述。为了澄清,您的函数定义应为
def load_az_数据集(文件路径)
,然后当调用函数时,即输入文件路径字符串。
open("C:\\A_Z_Handwritten_Data\\A_Z_Handwritten_Data.csv")