![](/img/trans.png)
[英]SyntaxError invalid syntax when running Crontab in Python 3.8
[英]loading csv files - SyntaxError: invalid syntax (python 3.8)
我正在做一個項目,該項目需要我在代碼的兩個位置添加 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_az_dataset
的方法聲明中傳遞了文字字符串。
您需要將 function 的參數定義為:
def load_az_dataset(fileName):
此外,如果您想將該文件添加為參數的默認值,請使用:
def load_az_dataset(fileName="C:\\A_Z_Handwritten_Data\\A_Z_Handwritten_Data.csv"):
此外,與問題無關,您需要用另一個\
\
嘗試:
open("C:\\A_Z_Handwritten_Data\\A_Z_Handwritten_Data.csv")
語法錯誤是因為文件路徑在 function 定義中的參數列表中。 這是罪魁禍首:
def load_az_dataset("C:\A_Z_Handwritten_Data\A_Z_Handwritten_Data.csv"):
function 定義中沒有列出任何參數。 你只有一個文字字符串。
此外,正如其他人所提到的,您還應該使用原始字符串: r"..."
或 escaping 反斜杠。
最后,您應該使用with open(file_path) as f:
模式來打開您的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.