Daniel Adeyemi is accused of trying to kill the officer at Ilford railway station on Friday night.
The 24-year-old, of Bedford Road, Ilford, has also been charged with possession of a bladed article and common assault against another police officer.
He will appear before Highbury Magistrates Court on Monday, British Transport Police said.
Adeyemi is said to have attacked the on-duty BTP officer at the station at around 9.45pm before being arrested at the scene.
Witnesses described seeing a bloodied officer outside the station as it was put on “complete lockdown”.
The alleged attack comes amid concerns over the treatment of officers in the city.