我在这里迷失了方向。我在这里要做的是从已经生成的csv文件中拉出Reddit线程,然后拉出线程的标题,注释数以及当前日期和时间,并将其附加到第一个字典中。然后,我尝试做的是删除标点符号(我也仍然无法做到)和编码。最后,将第一个字典中的每个值附加到第二个字典中,以便第一个字典中的每个线程都可以拥有自己的单独的csv文件。
TLDR:我在将第一个字典追加到第二个字典时遇到关键错误,有人可以帮忙吗?还可以提高我删除标点符号的机会吗?
import csv
import praw
import os
import errno
import pandas as pd
import datetime as dt
thread_id = []
volume_dict = { "post":['These', 'are', 'values'],
"num_comments":['62', '43', '96'],
"date_time":[]
}
volume_dict2 = { "post2":[],
"num_comments":[],
"date_time":[]
}
for post in volume_dict["post"]:
volume_dict2['post2'].append(post)
volume_dict2['num_comments'].append(volume_dict['num_comments'])
volume_dict2['date_time'].append(dt.datetime.now())
pathV = os.path.join(os.getcwd() + post + '.csv')
volume_data = pd.DataFrame(volume_dict2)
volume_data.to_csv(pathV, index=True)
print('saved to' + pathV)
volume_dict2.clear()
答案 0 :(得分:0)
标点部分:
str.replace(old,new [,count])
返回带有所有出现的旧子字符串的字符串副本 换成新的。如果给出了可选的参数计数,则仅 第一次出现的次数被替换。
>>> import string
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> punch = string.punctuation
>>> strg = 'bad{-<+>-}pun'.replace(punch,'')
>>> strg
'bad{-<+>-}pun'
>>> for p in punch:
... strg = strg.replace(p,'')
...
>>> strg
'badpun'