我想写一个会删除'|'的代码如果该管道位于最后一个字符串,则来自字符串。
输入数据样本:
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
提前感谢指导。
答案 0 :(得分:0)
尝试使用rstrip
x = 'ABC|DEF|'
x.rstrip('|')
'ABC|DEF'