首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用动态命名导出多个csv文件

使用动态命名导出多个csv文件
EN

Stack Overflow用户
提问于 2018-05-17 16:27:51
回答 2查看 480关注 0票数 1

我用Python创建了大约200个csv文件,现在需要全部下载。

我使用以下方法从单个文件创建了这些文件:

代码语言:javascript
复制
g = df.groupby("col")
for n,g in df.groupby('col'):
    g.to_csv(n+'stars'+'.csv')

当我试图使用相同的语句导出到我的机器时,我会得到一个语法错误,我不知道我做错了什么:

代码语言:javascript
复制
g = df.groupby("col")
for n,g in df.groupby('col'):
    g.to_csv('C:\Users\egagne\Downloads\'n+'stars'+'.csv'')

错误:

代码语言:javascript
复制
  File "<ipython-input-27-43a5bfe55259>", line 3
    g.to_csv('C:\Users\egagne\Downloads\'n+'stars'+'.csv'')
                                                 ^
SyntaxError: invalid syntax

我在木星实验室,所以我可以下载每个文件,但我真的不想这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-17 16:41:26

您可能混淆了整数和字符串,而在文字中使用反斜杠也是很危险的。请考虑使用以下方法

代码语言:javascript
复制
import os

环内

代码语言:javascript
复制
    f_name = os.path.join('C:', 'users', ' egagne', 'Downloads', str(n), 'stars.csv')
    g.to_csv(f_name)

os.path.join帮你处理反斜杠。

票数 2
EN

Stack Overflow用户

发布于 2018-05-17 16:38:40

g.to_csv('C:\Users\egagne\Downloads\'n+'stars'+'.csv'')需要成为g.to_csv('C:\\Users\\egagne\\Downloads\\'+n+'stars.csv')

有两件事错了--反斜杠是转义字符,所以如果你在它后面放一个',它将被视为字符串的一部分,而不是你想要的结尾引号。使用\\而不是单个\转义转义字符,以便在字符串中包含反斜杠。

而且,你没有正确地对你的引号。n是一个变量名,但是从您问题中的语法突出显示来看,它显然是字符串的一部分。类似地,您可以看到stars.csv没有作为字符串的一部分突出显示,而关闭的''应该是错误的危险标志。

编辑:我讨论了造成这个问题的原因,但directory的答案是正确的--尽管您知道这将在windows上运行,但最好是将os.path.join()与目录名一起使用,而不是用字符串写出路径。如果您完全不确定n的类型,那么str(n)也是正确的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50396359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档