【问题标题】:How do I remove NUL characters from a CSV using Python如何使用 Python 从 CSV 中删除 NUL 字符
【发布时间】:2016-08-04 15:32:39
【问题描述】:

我注意到我收到的几个 CSV 在文件中放置了随机的“NUL”值。我注意到这一点是因为当我使用 SSIS 包将文件导入数据库时​​,我构建这些文件时会抛出 no column delimiter found 错误。我正在考虑编写一个 python 脚本来清理这些文件,但是我在 Python 中找不到解决这个问题的方法。我将如何使用 Python 删除这些 NUL 字符?

我会附上一张图片,但我没有足够的声誉来附上一张。

例如。 "123456","Brown, Jim","","?NUL","",False,"8/16/2014 12:00:00 AM",""NUL,""InboNULund"

【问题讨论】:

  • 您是说有一个\x00 字符作为CSV 元素吗?即foo,bar,\x00,tree?
  • @theorifice 是的。但也有\x00 字符插入字符串,即foo\x00bar, cheese, pizza, y\x00ellow
  • 您是否尝试过遍历文件中的行并使用string.replace 方法?
  • @haliphax 我有,但并非所有 \x00 字符都嵌入在字符串中。它并没有捕捉到所有这些。
  • 生成数据的是什么?似乎问题在于 CSV 生成器提供了乱码数据。

标签: python-2.7 csv nul


【解决方案1】:

我不知道我是怎么在搜索中找不到这个答案的,但是这个解决方案很有效。奇怪的是它起作用了,因为我尝试了字符串替换方法,但它似乎没有抓住所有这些,但我认为@JohnMachin 在这篇文章中提供的完整答案确实为我解决问题奠定了基础。他提供了一种全面的方法来调查问题,如果您遇到类似问题,我建议您查看一下。 Python CSV error: line contains NULL byte

【讨论】:

    猜你喜欢
    • 2013-03-04
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2016-07-28
    • 2016-03-16
    相关资源
    最近更新 更多