在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。

shark14146 回答:在python中解析双管道定界文件

csv documentation

  

一个用于分隔字段的单字符字符串。默认为“,”。

这是一个严格的约束。我可以想到的一种方法是在被csv.reader读取之前对内容字符串进行一些修改。在将输入文件作为replace('||','|')的参数之前,可以在输入文件的每一行上使用csv.reader方法。

input_file  = open('test.csv',"rb")
reader = csv.reader((line.replace('||','|') for line in input_file),delimiter='|')
,

您可以使用pandas库轻松完成此操作。

import pandas as pd
df = pd.read_csv('temp.csv',sep='\|\|',engine='python',header=None)
print(df)
本文链接:https://www.f2er.com/3161172.html

大家都在问