【问题标题】:How to delete non-ASCII characters in a text file?如何删除文本文件中的非 ASCII 字符?
【发布时间】:2018-10-05 08:55:16
【问题描述】:

我有这个 .log 文件,我将扩展名更改为 .txt 文件,但它仍然读取为日志文件

但是在我复制它并粘贴它一个新的编辑器并将它保存为 .txt 文件之后.. 这是它显示的内容:

有人告诉我,我应该删除一个非 ASCII 字符。有什么方法可以删除它,或者有什么方法可以复制日志文件的内容,然后使用 python 将其放入文本文件中?

【问题讨论】:

  • 这看起来像 UTF-16。你可能应该简单地iconv -f utf-16le trendx.log >trendx.txt
  • 对于更一般的情况,请查看stackoverflow.com/questions/6609895/…(不是公认的答案)。

标签: python


【解决方案1】:

在 Python 中,您可以指定输入编码。

with open('trendx.log', 'r', encoding='utf-16le') as reader, \
     open('trendx.txt', 'w') as writer:
   for line in reader:
        if "ROW" in line:
           writer.write(line)

我显然抄袭了你之前问题中的一些内容。感谢您最终确定了实际问题。

请特别注意我们如何避免将整个文件读入内存,而是一次处理一行。

【讨论】:

  • 但它只打印 3 行
  • 包含"ROW" 的行是否超过三行?或者也许取出if 无条件打印所有内容。
  • 这是我的日志文件,请帮助我mediafire.com/file/idxhn1j4ev1wwl8/trendx.log.log/file这是我唯一的问题:(
  • 现在不确定哪个“this”是您的问题,也许可以问一个新问题(如果它与编程无关,可能在 Unix & Linux 上?)
猜你喜欢
  • 2013-09-02
  • 2011-03-16
  • 2012-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多