我用Python创建了大约200个csv文件,现在需要全部下载。
我使用以下方法从单个文件创建文件:
g = df.groupby("col")
for n,g in df.groupby('col'):
g.to_csv(n+'stars'+'.csv')
当我尝试使用同样的语句导出到我的机器时,我遇到语法错误,我不确定我做错了什么:
g = df.groupby("col")
for n,g in df.groupby('col'):
g.to_csv('C:\Users\egagne\Downloads\'n+'stars'+'.csv'')
错误:
File "<ipython-input-27-43a5bfe55259>", line 3
g.to_csv('C:\Users\egagne\Downloads\'n+'stars'+'.csv'')
^
SyntaxError: invalid syntax
我在Jupyter实验室,所以我可以单独下载每个文件,但我真的不想这样做。
答案 0 :(得分:2)
你可能混合了整数和字符串,无论如何在文字中使用反斜杠是危险的。考虑使用以下
import os
循环内的
f_name = os.path.join('C:', 'users', ' egagne', 'Downloads', str(n), 'stars.csv')
g.to_csv(f_name)
os.path.join
为你处理反斜杠。
答案 1 :(得分:1)
g.to_csv('C:\Users\egagne\Downloads\'n+'stars'+'.csv'')
需要是
g.to_csv('C:\\Users\\egagne\\Downloads\\'+n+'stars.csv')
。
有两个错误 - 反斜杠是一个转义字符,所以如果你在其后放一个'
,它将被视为你的字符串的一部分而不是你想要的结束语。使用\\
而不是单个\
会转义转义字符,以便您可以在字符串中包含反斜杠。
此外,您没有正确配对报价。 n
是一个变量名,但是从你问题中突出显示的语法来看,很明显它是字符串的一部分。同样,您可以看到stars
和.csv
未突出显示为字符串的一部分,而结束''
应该是一个出现错误的红色标记。
编辑:我解决了导致问题的原因,但Ami Tavory的答案是正确的 - 尽管你知道这将在Windows上运行,但将os.path.join()
与目录一起使用是一种更好的做法命名而不是在字符串中写出路径。如果你完全不确定n的类型,str(n)
也是正确的方法。