The incident happened around 1:00 a.m. at the Frankford Transportation Terminal in the 5300 block of Penn Street.
SEPTA officials say the man was working on a rail car when he was shocked.
He was rushed to the hospital where he was last reported to be in stable condition.
SEPTA said it is investigating the cause of this incident.