删除'|'来自python中字符串末尾的列表

时间:2017-06-23 14:30:23

标签: python

我想写一个会删除'|'的代码如果该管道位于最后一个字符串,则来自字符串。

输入数据样本:

ABC|CDE|FGH|XYZ
ABC|CDE|FGH|
ABC|
CDN

我写的代码是:

with open(OUT_FILE, 'a') as outputfile:
    with open(INTER_FILE, 'rb') as feed:
    writer = csv.writer(outputfile, delimiter=',', quotechar='"')
        reader = csv.reader(feed, delimiter=',', quotechar='"')
        for row in reader:   
            reportable_jurisdiction=row[7]
        if '|' in reportable_jurisdiction:
            print 'length ',len(list(row[7].split('|')))
            print ' List : ', list(row[7].split('|'))
            if len(filter(None,list(row[7].split('|')))) == 1:
                row[7]=filter(None,list(row[7].split('|')))
                print " row ", row[7]
                row[7]="".join(sorted(list(row[7].split('|'))))
            else:
                row[7]="|".join(sorted(list(row[7].split('|'))))
                print " reportable Jurisdiction with comma "+reportable_jurisdiction
        else:
            print "reportable Jurisdiction if single "+reportable_jurisdiction

        writer.writerow(row)
    feed.close()
    outputfileSize=os.path.getsize(OUT_FILE)
    outputfile.close()

这里我正在对数据进行排序,并再次使用管道分隔准备String。 现在这里的问题是没有“|”的字符串在最后像ABC | CDE | FGH | XYZ和ABC很好,那些正在作为ABC | CDE | FGH | XYZ,但是有“|”的字符串在最后像“ABC | CDE | EFG |”那些来了| ABC | CDE | FGH和“ABC |”即将成为“| ABC”。

但预期的输出是:

| ABC | CDE | FGH | XYZ ABC | CDE | FGH ABC CDN

提前感谢指导。

1 个答案:

答案 0 :(得分:0)

尝试使用rstrip

x = 'ABC|DEF|'
x.rstrip('|')

'ABC|DEF'