Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字典附加到具有列表的字典时出现Python键错误_Python_Csv_Dictionary_Keyerror_Praw - Fatal编程技术网

将字典附加到具有列表的字典时出现Python键错误

将字典附加到具有列表的字典时出现Python键错误,python,csv,dictionary,keyerror,praw,Python,Csv,Dictionary,Keyerror,Praw,我在这里发疯了。我在这里试图做的是从已经生成的csv文件中提取Reddit线程,然后提取线程的标题、注释数以及当前日期和时间,并将其附加到第一个字典中。然后我要做的是删除标点符号(我也有点不擅长)和编码。最后,将第一个字典中的每个值附加到第二个字典中,这样第一个字典中的每个线程都可以拥有自己的csv文件 TLDR:在将第一个dict附加到第二个dict时,我遇到了一个关键错误,有人能帮忙吗?还能提高我删除标点符号的机会吗 import csv import praw import os impo

我在这里发疯了。我在这里试图做的是从已经生成的csv文件中提取Reddit线程,然后提取线程的标题、注释数以及当前日期和时间,并将其附加到第一个字典中。然后我要做的是删除标点符号(我也有点不擅长)和编码。最后,将第一个字典中的每个值附加到第二个字典中,这样第一个字典中的每个线程都可以拥有自己的csv文件

TLDR:在将第一个dict附加到第二个dict时,我遇到了一个关键错误,有人能帮忙吗?还能提高我删除标点符号的机会吗

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的字符串副本 换成新的。如果给出了可选参数计数,则只有 第一次计数的出现被替换

导入字符串 >>>字符串、标点符号 '!"#$%&\'()*+,-./:;?@[\\]^_`{|}~' >>>打孔=字符串。标点符号 >>>strg='bad{--}pun'。替换(冲压,') >>>strg “糟糕的{--}双关语” >>>对于冲压中的p: …strg=strg.替换(p') ... >>>strg “巴普”
请修复您的代码缩进(缩进严重的Python代码完全没有意义)并发布一个适当的MCVE。通过MCVE,我认为bruno的意思是,在定义字典和向函数传递参数时,您不需要使用这些反斜杠`\`我尝试将代码压缩一位好的,我将删除我在示例中看到的反斜杠
>>> 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'