有没有办法将 csv 保存为新的 csv 而不会覆盖旧的?
Is there a way to save a csv as a new csv without overwriting the old one?
我正在抓取 subreddit 的评论,并想使用 pandas 将它们保存在 csv 文件中。我可以将所有 post 中的评论保存到一个 csv 文件中。但是,我想将每个 post 的评论保存在自己的 csv 中。使用for循环,它只是简单地覆盖了之前的csv。
是否有使用新名称保存 csv 或不覆盖的功能?我在 python 中使用 pandas。
下面是我的方法。
#Retrieve Comments
def comments(self,posts,reddit):
'''Method scrapes all first level comments, then all second level comments, etc'''
for id in posts.id:
all_comments = []
all_comments.clear() #just to be sure
sub = reddit.submission(id=id)
sub.comments.replace_more(limit=0)
for comment in sub.comments.list():
all_comments.append(comment.body)
all_comments = pd.DataFrame(all_comments,columns=['Comments'])
#*****Path to Store CSV*****
all_comments.to_csv(r'C:\Users\osama\Desktop\.csv')
return
for index, id in enumerate(posts.id):
# ...
all_comments.to_csv(rf'C:\Users\osama\Desktop\{index}.csv')
它将文件保存为0.csv、1.csv、2.csv等。
或者:
for post in posts:
id = post.id
# ...
all_comments.to_csv(rf'C:\Users\osama\Desktop\{post.title}.csv')
我认为第二个选项应该与 praw 一起使用(我可以看到你正在使用它)。它应该以 post 标题命名文件。
我正在抓取 subreddit 的评论,并想使用 pandas 将它们保存在 csv 文件中。我可以将所有 post 中的评论保存到一个 csv 文件中。但是,我想将每个 post 的评论保存在自己的 csv 中。使用for循环,它只是简单地覆盖了之前的csv。
是否有使用新名称保存 csv 或不覆盖的功能?我在 python 中使用 pandas。 下面是我的方法。
#Retrieve Comments
def comments(self,posts,reddit):
'''Method scrapes all first level comments, then all second level comments, etc'''
for id in posts.id:
all_comments = []
all_comments.clear() #just to be sure
sub = reddit.submission(id=id)
sub.comments.replace_more(limit=0)
for comment in sub.comments.list():
all_comments.append(comment.body)
all_comments = pd.DataFrame(all_comments,columns=['Comments'])
#*****Path to Store CSV*****
all_comments.to_csv(r'C:\Users\osama\Desktop\.csv')
return
for index, id in enumerate(posts.id):
# ...
all_comments.to_csv(rf'C:\Users\osama\Desktop\{index}.csv')
它将文件保存为0.csv、1.csv、2.csv等。
或者:
for post in posts:
id = post.id
# ...
all_comments.to_csv(rf'C:\Users\osama\Desktop\{post.title}.csv')
我认为第二个选项应该与 praw 一起使用(我可以看到你正在使用它)。它应该以 post 标题命名文件。