我在任何地方都找不到这个问题,我有点惊讶。我正在尝试使用此命令逐行读取一个巨大的文件:

with open("file.csv") as f:
    for line in f:
        splitline = line.split()


如果我print(splitline),我会得到很多行,并且只用逗号,我不想:

[',,,,,,,']


我想要的行看起来像:

['XZ02345,AAA,BBB,1.0,11.0,15.0,1.0,1.0']


我已经尝试过各种if 'XZ' in splitline: print(splitline)if splitline[0] == "": continue类型的解决方案,但是我尝试执行的任何操作都不打印所有行,也可以不打印任何行。

所需的输出没有仅是逗号[',,,,,,,']的行

最佳答案

您可以使用regex

import re

with open("file.csv") as f:
    for line in f:
        if re.match(r'^\,*$', line) is None:
            splitline = line.split()
            print(splitline)


这会尝试仅使用,查找字符串,并且如果字符串还有其他内容,它将处理该字符串

关于python - Python:跳过所有不带字母/数字的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54685980/

10-14 18:21