python - 如何处理这个带有多个选项卡的 csv 文件?
问题描述
我有一个包含纯文本的 CSV 文件。它应该由具有 3 列的制表符分隔,所以我想通过以下方式获取每一列:
columns = line.split('\t')
if len(columns) != 3:
print("Incorrect format for this line: ", line)
continue
但是,我发现有很多行不完全包含 2 个选项卡,结果是上面的代码跳过了这些行。
在处理 CSV 文件时,如何处理这种情况?我不想跳过这些行,但由于它们的格式不同,我不能指望如何正确解析它们。当 CSV 文件由其他人制作时,我无法控制格式。如果我自己生成 CSV 文件,使用逗号而不是制表符作为分隔符会更好吗?但是逗号在任何纯文本数据中都很常见。
解决方案
我建议您按照您已经在做的那样阅读这些行,但将不符合要求的行保存在一个单独的、否则未处理的文件中以供后续检查。
如果您以这种方式将它们收集在一起,您可能能够识别出其中的模式。此外,它们还为您提供了一些东西,可以将其传递回乏味数据的来源。
推荐阅读
- python - 查找每个键的最小值并基于键作为索引构建数组
- javascript - 用另一种方法达到变量的内容
- ui-automation - 使用 Selenium 的 Archer GRC 测试自动化
- wordpress - Carbon Fields 插件中的组
- django - 无法将类型整数转换为 uuid
- java - 如何配置 RSAKey.Builder 以生成没有空值的简单结果
- flutter - (Flutter) 如何正确使用 Consumer 和 ChangeNotifierProvider ?找不到丢失的东西
- javascript - 如何在 html 的画布元素中添加两个图像 ..?
- kotlin - TabLayoutMediator 从 kotlin 到 java
- reporting-services - SSRS 添加带有字段 URL 的超链接