我正在使用Python 2.7.x了解Twitter API.我保存了一些随机推文,我正在尝试处理它们.每条推文都转换为带有json.loads的字典,所有字典都是列表的一部分.
给定一条推文,我希望能够从字典中提取某些字段.键都是unicode字符串.如果我循环遍历键,我可以毫不费力地打印值:
for i in tweet.keys():
print i, tweet[i]
Run Code Online (Sandbox Code Playgroud)
所以上面的循环工作正常,但我没有运气搞清楚如何手动指定密钥."u'text'"是实际推文内容(用户的实际帖子)的关键.如果我尝试打印tweet ['text'],我会得到一个KeyError.我天真地尝试了推文[u'text'],但这也失败了KeyError.
我想我很好奇循环在执行tweet.keys()时所做的事情与手动指定键时我正在做的事情之间的区别.请注意,如果我在上面的循环中打印i的值,则打印密钥名称,但不包含unicode.当键是"u'text'"时,i的值只是'text',或者至少是打印到终端的那个.
我的个人库在 ~/.Renviron 中设置为 R_LIBS=~/.R/lib。当我从 rstudio 安装软件包时,这非常有效。当我尝试从普通的 R 控制台会话安装新软件包时,它总是问我:
Would you like to use a personal library instead? (y/n) y
Would you like to create a personal library
~/R/x86_64-redhat-linux-gnu-library/3.1
to install packages into? (y/n) n
Run Code Online (Sandbox Code Playgroud)
当我从控制台会话进行更新时, ~/.R/lib 中的现有包(以前从 rstudio 安装)更新没有问题。如果 /usr 中有全局包也需要更新,R 再次询问我是否要创建 ~/R/x86_64-redhat-linux-gnu-library/3.1。
我已经尝试了多种配置,但没有找到解决方法。
专业提示?