Problem with Euler and Quaternion Rotation

Long story short is that, that I made an animation using Euler rotation but during cleaning the graph I realized that the graph and the axis got mixed up, eg. x and y axis both gave more or less the same sort of rotation in the graph but in the 3D space on rotating along local axis i get a completely different type of rotation.

I usually did my animations with Quaternions, but this time, due to some issues I switched to Eulers without understanding how they work. Now I have a ton of animation data and a big mess cleaning up the graphs.

So my question is, is there any way to save the Euler rotations as Quaternions without loss of data (visual data atleast) or if that’s not possible, then how to work around the graph editor so that the axis move according to the actual axis movements

This web page, if the logic is reversed, might be something useful:

See also the Python docs:

Sounds like a gimbal lock problem. Euler follows a specific order in wich each channel gets rotated. You can change this order in the transform menu or you can use an Euler Filter like that one (never tested the addon myself tho)

Here is a good video explaining gimbal lock: