在任何人提到它之前,我已经遍布stackoverflow和谷歌找到答案,我相信我可能只是做错了.

我正在废弃一个xml文档,并使用BeautifulSoup4将值放入变量中.现在我正在读取报废到字典中的值并遍历字典以查找我需要的值,但是,当我想将这些值打印到带有模板的报表中时,我收到以下错误:

TypeError: coercing to Unicode: need string or buffer, NoneType found

我发现的是将None值作为我字典中的值之一的结果.解决方案:我一直试图在python 2.7中迭代我的字典以删除或替换NoneType值,但似乎没有任何效果.我发现的一些解决方案是过滤器(None,list)函数,for k,v in dictionary:

如果v in not None:list.append(item),clean = [x for x in list in x!= None],使用lambda,依此类推.他们似乎都没有工作让我相信我一定做错了.例如,这是我设置字典的方式:

itemDict = []

for item in soup3.find_all('XMLTag'):

r = {

'definition1': item.Starttag.string,

'definition2': item.Stoptag.string,

'definition3': item.Filltag.string,

'definition4': item.Stoptag2.string,

}

itemDict.append(r)

但是通过它来移除或替换itemDict中的NoneTypes一直很痛苦.我计划的最终结果是将字典中的项目放入一段模板代码中作为报告打印,例如“”“< Description>”“”item [0] [‘definition4’]“”“ < /说明> “中”,”.有什么想法吗?

编辑:

由于Martijn Pieters和Steve Jessop,解决方案实际上非常简单.

itemDic = []

for newdic in soup3.find_all("XMLTag"):

s = {

'definition1': newdic.Order.string,

'definition1': newdic.Code.string,

'definition1': newdic.Description.string,

}

for k in s:

if s[k] is None:

s[k] = ''

itemDic.append(s)

这替换了使用带有空字符串的BeautifulSoup4从XML scrape中发现的所有NoneType.类似地,上面的代码也可以替换用户对给定条件所需的任何其他值.所以例如,如果我想将“神话般的”每个实例更改为“它只是好的”,我会将’None’替换为’fabulous’和空字符串,”,’它只是没关系’和中提琴!再次感谢你们.

python 删除字典none_python – 从字典中删除NoneTypes相关推荐

  1. cte公用表表达式_CTE SQL删除; 在SQL Server中删除具有公用表表达式的数据时的注意事项

    cte公用表表达式 In this article, the latest in our series on Common table expressions, we'll review CTE SQ ...

  2. python的csv模块自动删除空白_从CSV中删除空白行?

    我有一个很大的csv文件,其中有些行是完全空白的.如何使用Python从csv中删除所有空白行? 经过你的建议,这就是我到目前为止所拥有的import csv # open input csv for ...

  3. php 从数组里删除元素,PHP从数组中删除元素的四种方法实例

    PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...

  4. java类怎么删除对象_在java中删除一个对象?

    在java中删除一个对象? 我想删除一个我创build的对象(跟随着你的一个椭圆),但是我怎么做呢? delete follower1; 没有工作. 编辑: 好吧,我会给更多的上下文. 我正在制作一个 ...

  5. mysql for 循环删除_Java增强for循环中删除元素抛异常问题

    前言 最近突然想起刚毕业那会找工作时面试被问了个这样的问题.就是"使用增强for循环遍历ArrayList(List集合)时删除其中的元素是否会出现异常?".说实话当时真把我愣住了 ...

  6. linux 命令行删除分区,如何在 Linux 中删除分区

    管理分区是一件严肃的事情,尤其是当你不得不删除它们时.我发现自己经常这样做,特别是在使用 U 盘作为实时磁盘和 Linux 安装程序之后,因为它们创建了几个我以后不需要的分区. 在本教程中,我将告诉你 ...

  7. linux 删除大文件,在 Linux 中删除超大文件的技巧

    通常,要在 Linux 终端删除一个文件,我们使用 rm 命令(删除文件).shred 命令(安全删除文件).wipe 命令(安全擦除文件)或者 secure-deletion 工具包(一个安全文件删 ...

  8. 【IDEA用法】IDEA新建文件自动加入SVN,删除文件自动从SVN中删除

    如果你使用IDEA编辑器,创建一个文件和删除一个文件,但是没有与SVN打交道,那么你就来对地方了哦! IDEA新建文件自动加入SVN: 1.新建文件(自动添加到SVN):     File  --&g ...

  9. python 删除pdf页面_使用python从新生成的pdf文件中删除空白页

    使用下面的代码,我试图将图片从目录粘贴到PDF文件中.代码已经在工作,生成我的PDF几乎如我所愿.在 唯一的问题是它总是在图片之间添加空白页,我不知道为什么. 如果我执行代码,PDF将以空白页开始,然 ...

  10. mysql删除完全重复数据库_MySQL中删除完全重复数据的准确SQL语句

    案例: id姓名课程名称分数1张三数学692李四数学893张三数学69删除除了自动编号不同,其他都相同的学生冗余信息 ----------------------------------------- ...

最新文章

  1. vmware vsphere 虚拟化之安装esxi
  2. Java程序员新手老手都离不开八大开发工具
  3. python库怎么绘画_python基础,安装并使用matplotlib库画图
  4. 怎么查电脑系统版本_程序员的bug解决不了怎么办?
  5. xgboost使用自定义的loss function
  6. 软件测试面试 (二) 如何测试网页的登录页面
  7. 时间管理专题_软件篇03
  8. 支付宝回调app失败
  9. Linux-CentOS 安装yasm
  10. 阿里云服务器是如何计费的?包年包月与按量付费有什么区别?
  11. css复合选择器(后代选择器、子代选择器、并集选择器、链接伪类选择器、:focus选择器)
  12. ERP现状及未来发展趋势分析?
  13. 超详细——入门Github的代码上传
  14. win10任务栏,如何做到图标居中
  15. 看IE9带来的新概念
  16. 安全研究人员发现新的Android恶意软件:已感染1000多万部安卓手机
  17. 68013上电“unknown device
  18. 天瑞地安集团:JavaScript编程小技巧让“菜鸟”编程变得更轻松!
  19. nginx和openresty配置静态资源时,样式错乱
  20. 10组团队项目-Alpha冲刺-5/6

热门文章

  1. 《Effective C++》 目录
  2. 【论文】论文搜集+摘要翻译
  3. 上海-苏州 100公里徒步旅行心情分享(二)
  4. python 返回上一级_命令行 返回上一级目录怎么操作
  5. 不要迷恋哥,哥只是个传说!
  6. 【我的C/C++语言学习进阶之旅】NDK开发之Native层使用fopen打开Android设备上的文件
  7. java类定义初成员变量赋值_Java中成员变量初始化
  8. iptable端口重定向 MASQUERADE
  9. 服务器2008系统usb驱动,Windows Server 2008 R2驱动程序整合USB3实用程序
  10. RZR 丝印RZR Marking RZR 12Pin 芯片,终于找到型号了