Это технически отвечает на прямой вопрос:
lst = [line[6:17] for line in open(fname)]
но есть фатальный недостаток. Это нормально для одноразового кода, но эти данные выглядят подозрительно как значения, разделенные запятыми, а третье поле может даже быть разделенными пробелом порциями данных. Намного лучше сделать это так, чтобы, если в первых двух столбцах появилась дополнительная цифра, она все равно работала:
lst = [x[2].strip()[0:11] for x in [line.split(',') for line in open(fname)]]
И если эти разделенные пробелами куски могут стать длиннее, то это:
lst = [x[2].strip().split()[0:2] for x in [line.split(',') for line in open(fname)]]
Не забудьте комментарий или два, чтобы объяснить, что происходит. Может быть:
# on each line, get the 3rd comma-delimited field and break out the
# first two space-separated chunks of the licence key
Предполагая, конечно, что это лицензионные ключи. Не нужно быть слишком абстрактным в комментариях.