Update bands of a CSC Matrix


I would like to update inplace a CSC sparse Matrix A which has several bands like

A = spdiagm( 0 => ones(10), 1=> ones(10-1))

What I would like to do is to change the values of the band 1 (for example) by modifying A.nzval. The only solution I can see for this is using a composite type to save the indices of the bands which correspond to the encoding used for A.nzval.

Before I embark into coding this, I was wondering if anybody has done ever done, or has a better solution.

Thank you for your help,