Как только вы поместите свой CSV в большой список, одним из простых способов заменить столбец в списке будет транспонирование вашей матрицы, замена строки, а затем транспонирование обратно:
mydata = [[1, 'a', 10], [2, 'b', 20], [3, 'c', 30]]
def transpose(matrix):
return [[matrix[x][y] for x in range(len(matrix))] for y in range(len(matrix[0]))]
transposedData = transpose(mydata)
print transposedData
>>> [[1, 2, 3], ['a', 'b', 'c'], [10, 20, 30]]
editedData = transposedData[:2] + [50,70,90]
print editedData
>>> [[1, 2, 3], ['a', 'b', 'c'], [50, 70, 90]]
mydata = transpose(editedData)
print mydata
>>> [[1, 'a', 50], [2, 'b', 70], [3, 'c', 90]]