我正在尝试在CSV中的columun中提取数字的最后5位数字,并将其添加为附加列。我的实际数据中有更多列,并且有数千行数字。例如:
Column 1, Column 2, Column 3, Column 4
3333333, 1234567, 4444444, 5555555
7777777, 7654321, 5555555, 6666666
我希望它是:
Column 1, Column 2, Column 3, Column 4, Column 5
33333333, 1234567, 44444444, 55555555, 34567
77777777, 7654321, 55555555, 66666666, 54321
到目前为止,我已尝试过findall的迭代,并认为正则表达式将提供最佳解决方案。我可以提取专栏,而不是我想要做的,但到目前为止,这是我已经得到的。
答案 0 :(得分:1)
import csv
print('Column 1, Column 2, Column 3, Column 4, Column 5')
with open('data1', 'r') as f:
reader=csv.reader(f)
next(reader)
for row in reader:
print(row[0], row[1], row[2], row[3], row[1][-5:], sep=', ')
这是输出:
$ cat data1
Column 1, Column 2, Column 3, Column 4
3333333, 1234567, 4444444, 5555555
7777777, 7654321, 5555555, 6666666
$ python3 a.py
Column 1, Column 2, Column 3, Column 4, Column 5
3333333, 1234567, 4444444, 5555555, 34567
7777777, 7654321, 5555555, 6666666, 54321