python - 在python中解析双管道分隔文件
问题描述
需要解析一个由||分隔的数据文件 数据如下
Customer No||Company Code||Name||Address||Telephone||Fax||Email||Term of Payment||Block||Created On||Last Changed On
000111111||A75||My Company||My Address||01-11111111||01- 11111111||test@test.com||A075||||1.11.2019||11.11.2019
使用 csv 模块,解析的代码是
csv_reader = csv.reader(csv_file, delimiter='||')
并在执行时出现以下错误
TypeError: "delimiter" must be a 1-character string
我正在使用 Python 3.7。
解决方案
csv文档说
用于分隔字段的单字符字符串。它默认为“,”。
这是一个硬约束。我能想到的技巧之一是在被csv.reader
. 您可以replace('||', '|')
在输入文件的每一行使用方法,然后将其作为参数提供给csv.reader
.
input_file = open('test.csv', "rb")
reader = csv.reader((line.replace('||', '|') for line in input_file), delimiter='|')
推荐阅读
- linux - 将输出重定向到其他分区linux
- count - 如果事件发生,更新运行列表
- wpf - 使用 ScrollViewer 加载 2 个 DataGrids + StackPanel 时间太长,替代方案?
- windows - RemoteApp Web 客户端:命令行参数
- json - 数据库模型自定义 JSONField 值在测试用例之间持续存在
- flutter - 如何在 Flutter 中浏览 PageView?
- hyperledger-fabric - 我们可以更新关系的价值吗
- javascript - 如何在 JSBin 中进行 lodash 导入?
- javascript - Dropdown onChanged 不解散的问题
- c++ - 使用 Cstrings 进行猪拉丁语转换