我刚开始使用Python 3.7,并且正在使用下面的代码在IDLE上工作,但是每次我单击“运行”并尝试创建添加多个csv的新数据框时,我都会收到INVALID SYNTAX错误和单词“ 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
这是我在命令行管理程序中键入的内容:
>>> 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
答案 0 :(得分:0)
您丢失了用分号或换行符分隔输入到shell中的语句(如果换行符使用反斜杠\
,则换行符不计在内)。尝试一次输入一个语句。另外,在将它们用作参数之前,是否不应该定义archivos
和fechas
? Python是一种命令式语言,因此语句以书面顺序执行。
答案 1 :(得分:0)
我猜你是真的意思
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)