Python 3.5 将列中的数字提取到新列中



我正在尝试在 CSV 中提取列中列中数字的最后 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的迭代,并认为正则表达式将提供最佳解决方案。 我可以提取列,不完全是我想做的,但到目前为止,这是我所得到的。

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

最新更新