【问题标题】:Python regex empty line csvPython正则表达式空行csv
【发布时间】:2022-11-03 16:45:13
【问题描述】:

我需要处理一个带有管道分隔值的 csv 文件。问题是在像这样的几行空行之后,几行有它们的先前值,

"xx"|"yyyyy"|"zzz"|"aaaaaaaa"|"bbbbbbb"|"cccccccc"|"dddd"|"eeeeeee"|"fffffffffff


ffff"|""|""|"iiiii"

我不明白如何将其作为单行处理。现在我正在阅读 csv 文件:

with open(r".\sample.csv","r") as f:
        for line in f:
            yield line

关于如何解决它的任何想法?我需要将多行上的那一行作为单行处理,而不是所有行都像这样格式化。

PS:我使用多处理处理这个 CSV。

【问题讨论】:

    标签: python regex csv


    【解决方案1】:

    csv 模块知道如何处理这个问题。不要不必要地重新发明它。

    with open("./sample.csv","r") as f:
        for line in csv.reader(f):
            yield line
    

    csv.reader 返回已解析的字段序列,而不是裸行。

    【讨论】:

    • 但关键是,CSV 大约有 10GB,我想处理每一行并将其发送到第三方服务。所以,我试图以多处理方式来做到这一点。通过一次仅读取 8 行并发送它们然后再次读取它。而且我也试过 pandas ,它没有工作,因为它的格式不正确。 csv 模块也会涵盖这种情况吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    相关资源
    最近更新 更多