“SyntaxError:无效语法”缺少什么?

2024-05-29 04:18:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始使用Python3.7,正在使用下面的代码进行空闲操作,但是每次单击“运行”并尝试创建一个添加多个csv的新数据帧时,都会出现无效语法错误,并将单词“archivos”标记为:(

def CREA_DATA_FRAME_dias(archivos, fechas, ts):

    for a in range(len(archivos)):
        if a == 0:
            df, eje = CREA_DATA_FRAME(archivos[a], fechas[a], ts)
        else:
            dfN, ejeN = CREA_DATA_FRAME(archivos[a], fechas[a], ts)

            df = pd.concat([df, dfN])
            eje.extend(ejeN)

    return df, eje

这是我在Shell中键入的内容:

>>> df, eje = CREA_DATA_FRAME_dias(archivos, fechas, 5)\
 \
    archivos = ["C:/Users/Desktop/FILES/01-04-2018.csv",
            "C:/Users/Desktop/FILES/02-04-2018.csv",
            "C:/Users/Desktop/FILES/03-04-2018.csv",
            "C:/Users/Desktop/FILES/04-04-2018.csv",
            "C:/Users/Desktop/FILES/05-04-2018.csv"]
    fechas = ["2018-04-01","2018-04-02","2018-04-03","2018-04-04","2018-04-05"]```

SyntaxError: Invalid Syntax

Tags: csvdfdatafilesframeusersdesktopts
2条回答

我想你是说

aaa = ["C:/Users/Desktop/FILES/01-04-2018.csv",
        "C:/Users/Desktop/FILES/02-04-2018.csv",
        "C:/Users/Desktop/FILES/03-04-2018.csv",
        "C:/Users/Desktop/FILES/04-04-2018.csv",
        "C:/Users/Desktop/FILES/05-04-2018.csv"]
fff = ["2018-04-01","2018-04-02","2018-04-03","2018-04-04","2018-04-05"]
foo, bar = CREA_DATA_FRAME_dias(aaa, fff, 5)

在这里,我系统地重命名了所有变量,只是为了强调def之外的变量名与它内部的变量无关,反之亦然。你知道吗

这可以等效地写在没有显式变量的参数

foo, bar = CREA_DATA_FRAME_dias(
   ["C:/Users/Desktop/FILES/01-04-2018.csv",
    "C:/Users/Desktop/FILES/02-04-2018.csv",
    "C:/Users/Desktop/FILES/03-04-2018.csv",
    "C:/Users/Desktop/FILES/04-04-2018.csv",
    "C:/Users/Desktop/FILES/05-04-2018.csv"],
   ["2018-04-01","2018-04-02","2018-04-03","2018-04-04","2018-04-05"], 5)

也许这可以按照

def CREA_DATA_FRAME_dias(fechas_y_archivos, ts):
    dfs = []
    ejes = []
    for fecha, archivo in fechas_y_archivos:
        df, eje = CREA_DATA_FRAME(archivo, fecha, ts)
        dfs.append(df)
        ejes.append(eje)
    return pd.concat(dfs), ejes

然后你会这样称呼它

foo, bar = CREA_DATA_FRAME_dias(
   {"2018-04-01": "C:/Users/Desktop/FILES/01-04-2018.csv",
    "2018-04-02": "C:/Users/Desktop/FILES/02-04-2018.csv",
    "2018-04-03": "C:/Users/Desktop/FILES/03-04-2018.csv",
    "2018-04-04": "C:/Users/Desktop/FILES/04-04-2018.csv",
    "2018-04-05": "C:/Users/Desktop/FILES/05-04-2018.csv"}, 5)

在shell中键入的语句之间缺少分号或换行符(如果在反斜杠\后面,则换行符不计算在内)。尝试一次输入一条语句。另外,在将它们用作参数之前,是否应该定义archivosfechas?Python是一种命令式语言,因此语句是按照编写的顺序执行的。你知道吗

相关问题 更多 >

    热门问题