Jython中的文件行拆分

时间:2014-04-14 14:19:17

标签: jython

我正在尝试读取文件并在ODI中使用Jython帮助填充DB中的值。 为此,我在“'”的基础上逐行阅读这一行。本。

现在我有一行

4JGBB8GB5AA557812,,Miss,Maria,Cruz,,"266 Faller Drive Apt. B",
New Milford,NJ,07646,2015054604,2015054604,20091029,51133,,,
N,LESSEE,"MERCEDES-BENZ USA, LLC",N,N

" MERCEDES-BENZ USA,LLC"这个字段在双引号内,因为它被分成两个字段,而它应该只被认为是一个。有人可以告诉我应该怎样避免这种情况。

fields = valueList.split(',') 

我用它来分割,其中,值列表是文件中存在的单独行

1 个答案:

答案 0 :(得分:0)

您可以使用可以处理引号的csv模块:

line = '4JGBB8GB5AA557812,,Miss,Maria,Cruz,,"266 Faller Drive Apt. B",New Milford,NJ,07646,2015054604,2015054604,20091029,51133,,,N,LESSEE,"MERCEDES-BENZ USA, LLC",N,N'

import StringIO
import csv

f = StringIO.StringIO(line)
reader = csv.reader(f, delimiter=',')
for row in reader:
    print('\n'.join(row))

结果:

...
266 Faller Drive Apt. B
...
LESSEE
MERCEDES-BENZ USA, LLC
...

我的示例使用StringIO,因为测试行在代码中是字符串,您只需使用刚打开的文件处理程序作为f

您可以在本月的模块中找到更多示例":http://pymotw.com/2/csv/index.html#module-csv