使用Python以编程方式检测空白出现的列和行号

2024-10-02 10:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我们最近编写了一个基于数据的应用程序。我们使用的是Python csv模块。 数据中存在空白问题。所以我们使用strip()来删除空白。现在一切都很好,包括计算。在

我们有一个要求,我们必须检测空白并报告。无法检测该列中的空白。在

请帮忙。在

编辑:

操作系统

  1. Windows 7系统
  2. 乌班图
  3. ““
  4. 软呢帽

请假设这是数据的样本。第1、2和3行的数据正常。第3行没有任何数据,但有空格。我想检测这个。在


Tags: 模块csv数据应用程序编辑windows系统报告
2条回答

这个问题仍有很大的阐述空间。在

假设您有一个文本文件,其中包含您显示的以下数据:

Windows 7
Ubuntu

Fedora

有趣的是,从您的示例中可以看出,您将空行视为空白。我看不到任何“列”在您提供的数据,除非您认为每一个字符一列。在这种情况下,让我们看看数据实际包含的字符(我将使用\s表示单个空格,并\n表示新行:

^{pr2}$

你是在寻找空行吗?或者您希望程序查找所有带有空格字符的行,例如第1行第8列是空格?在

总而言之,要在数据中找到空行,我只需加载文件,使用splitlines()方法读取字符串的每一行,然后找到空的行号。示例代码如下

f = open("datafile.txt", "r")
data_string = f.read()
data_rows = data_string.splitlines()
row_counter = 0
while row_counter < len(data_rows):
    # If row is empty print the row number (assuming row numbers start from 0)
    if data_rows[row_counter] == "":
        print("Row number %d is empty" % row_counter)
    row_counter += 1

或者,如果要指出哪些行中有空白,可以使用正则表达式模块测试行(行)是否存在空白(用\s表示)。请阅读re模块的说明,以更好地解释其工作原理。在

^{4}$

如果您使用strip,它应该删除所有空白。所以:

if row.strip() == ""

如果行中只有空格,则为真:

^{pr2}$

至于从csv文件中获取数据,如果你发布你的代码,它将更容易帮助。。在

相关问题 更多 >

    热门问题