I am an Indian passport holder and travelling from Nanjing to Bangkok to Calcutta (all are connecting flight). There is transit at Bangkok (Bangkok Don Mueang International Airport) for 23 hours, then I have a connecting flight to Calcutta from Suvarnabhumi airport. So I need to change the airport. Do I need a transit visa?
Yes, you do. When changing airports you have to enter Thailand and leave the transit area.
You can try Visa on arrival http://newdelhi.thaiembassy.org/en/visa-on-arrival-en/
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.