我在这里失去了理智。我在这里尝试做的是从已经生成的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()
标点符号部分:
str.replace(old,new [,count])
返回字符串的副本,其中所有出现的substring old都替换为new。如果给出可选参数计数,则仅替换第一次计数。
>>> 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'