我需要从CSV文件中获取一个字符串,我知道我可以使用Python,但我一直在寻找几个小时,但仍然无法得到它。这是CSV看起来像:
DATE|CUST|PHONE|EMAIL|NAME|CLASS|QTY|AMOUNT|ID|TRX_ID|BOOKING CODE|PIN
01-02-2013 09:04:16|sdasd|43543|csdfd|Voucher Regular|REGULAR|1|2250000|G001T001|0062013000149|32143000341|MV1011302JSGUCFOM
01-02-2013 09:04:16|sdasd|43543|csdfd|Voucher Regular|REGULAR|2|1200000|G001T001|0062013000149|32143000341|MV4011302CBWDQYOU&MV4011302PVSEVAPJ
01-02-2013 11:01:13|ge|||Voucher Regular|REGULAR|1|600000|G001T001|20000027000005|32143000355|MV4011302UHKMJEEM
我想要的字符串是PIN
列(最后一列);但在每列中,可以有多个PIN,由'&'
分隔。
感谢您的帮助,一直在寻求解决这个问题。
答案 0 :(得分:3)
拆分|并得到最后一个条目:
pin = line.split('|')[-1]
或更花哨:
import csv
with open('bookings.csv', 'rb') as csvfile:
bookings = csv.reader(csvfile, delimiter='|')
for values in bookings:
print(values[-1])
答案 1 :(得分:1)
处理csv文件时,只需使用csv module:
import csv
from itertools import chain
with open('path/to/your/file.csv', 'rb') as csvfile:
tmp = (r['PIN'].split('&') for r in csv.DictReader(csvfile, delimiter='|'))
pins = list(chain.from_iterable(tmp))
for pin in pins:
print pin
答案 2 :(得分:0)
遍历每一行并使用以下内容:
'hello|world|and|noel'.split('|')[-1]
获取最后一个元素