Dataframe dynamic read and append

Data I have

ID C1 C2

1 A B
2 G
3 D
4 B A

What needed (Step 2):

ID C

1 A
1 B
2 G
3 D
4 B
4 A

***Most importantly the original data coming could have multiple C columns, we need to fetch them. today we have C1 & C2, tomorrow we could have C1 to C10.The excel data they dump could have multiple c columns.
the python code should know how many C columns came up in the dataset, dynamically build step 2.
the python code only knows the excel filename.