首页 > 解决方案 > 如何处理这个带有多个选项卡的 csv 文件?

问题描述

我有一个包含纯文本的 CSV 文件。它应该由具有 3 列的制表符分隔,所以我想通过以下方式获取每一列:

columns = line.split('\t')

if len(columns) != 3:
    print("Incorrect format for this line: ", line)
    continue

但是,我发现有很多行不完全包含 2 个选项卡,结果是上面的代码跳过了这些行。

在处理 CSV 文件时,如何处理这种情况?我不想跳过这些行,但由于它们的格式不同,我不能指望如何正确解析它们。当 CSV 文件由其他人制作时,我无法控制格式。如果我自己生成 CSV 文件,使用逗号而不是制表符作为分隔符会更好吗?但是逗号在任何纯文本数据中都很常见。

标签: pythoncsv

解决方案


我建议您按照您已经在做的那样阅读这些行,但将不符合要求的行保存在一个单独的、否则未处理的文件中以供后续检查。

如果您以这种方式将它们收集在一起,您可能能够识别出其中的模式。此外,它们还为您提供了一些东西,可以将其传递回乏味数据的来源。


推荐阅读