【问题标题】:Delete lines found in file with many lines删除文件中包含多行的行
【发布时间】:2012-07-31 18:42:31
【问题描述】:

我有一个包含多行 (1008) 的 Excel 文件 (.xls),我正在寻找与 2010 有任何内容的行。

例如,有一行包含 01/06/2010,因此将删除该行,使单元格留空。

在本例中,所有这些都将被删除。我至少尝试了读取文件,但出现了一个丑陋的错误:

def Pesquisar():
    nomeArquivo = open('D:/file.xls', 'r')
    for palavraArquivo in nomeArquivo.readlines():
        print palavraArquivo

结果:

ÐÏࡱ

【问题讨论】:

  • 你用什么来加载你的excel文件,或者你只是用python的open()? .xls 文件不能直接作为字符串读取,因为它们是二进制专有格式...

标签: python excel file io


【解决方案1】:

您不能直接读取 excel 文件,因为它不是标准文本文件。您需要使用第三方库,例如xlrd。另一种选择是将 xls 文件导出为 csv 文件或制表符分隔格式,然后使用 python 将它们解析为文本文件。

【讨论】:

  • 我在看这个包,但是不太明白。导出文件是不是更简单的方法?
  • @crf_h0m3r:如果您没有很多文件要解析,它可能会更直接。
【解决方案2】:

Excel 文件使用一种不适合纯文本解析的特殊格式。

就处理 .xls 格式的库而言,此讨论可能会为您指明正确的方向:Reading/parsing Excel (xls) files with Python

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多