加载csv文件-语法错误:无效语法(python 3.8)
我在做一个项目,需要在代码的两个位置添加csv文件。我在stackoverflow看到了类似的问题。但是他们的问题是由于旧的python版本2.5造成的。但是我的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"
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")