【问题标题】:Non-printable characters in reading word file in PythonPython中读取word文件中的不可打印字符
【发布时间】:2019-11-06 09:20:50
【问题描述】:

我正在从 Word 文件中读取表格。下面是我读取word文件的代码:

  import win32com.client as win32


  word = win32.Dispatch("Word.Application")
  word.Visible = 0
  word.Documents.Open(SigLexiconFilePath)
  doc = word.ActiveDocument
  table = doc.Tables(1)

  for i in range(2 , table.Rows.Count+1):
    commandName = table.Cell(Row = i, Column= 0).Range.Text 

所有commandName 在字符串末尾都有德语字符和2 个不可打印字符。例如:

commandName = Prüf\r\x07

我使用下面的代码删除了不可打印的字符,但它也从字符串中删除了德语字符。

commandName = ''.join(filter(lambda x: x in string.printable, commandName))
commandName = commandName.strip()

有没有什么 Pythonic 方法可以从字符串中删除不必要的字符?我想要的最终输出是:

commandName = Prüf

【问题讨论】:

  • "All commandName has [...] and 2 non-printable characters ..." 如果总是这样,请始终删除最后 2 个字符。
  • 出现这些字符的原因:此内容来自表格单元格。这些是表格单元格的结构控制字符。

标签: python python-3.x string ms-word non-printing-characters


【解决方案1】:

这条简单的线对我有用:

commandName.split('\r')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2023-04-04
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    相关资源
    最近更新 更多