Saving keyframe data to text

Is it possible to save the location and scale of all my animation key frames to a text? Is there an add-on similar to the CSV F-Curve importer for exporting single item actions?

My problem is I want all of the saved keys from the dope sheet for a cube to export to a text box or text file.

For example:
In frame 1 a cube is at position 0,0,0 with scale 1,1,1
and then 10 frames later it is at 0,1,0 with scale 2,2,2.
I’d like the output to be something like:
frame, x,y,z,scalex,scaley,scalez
1,0,0,0,1,1,1
2,0,1,0,2,2,2

Have you taken a look at the .X file format? It sounds like it supports the parameters you need to export.


xof 0303txt 0032

template AnimTicksPerSecond {
  <9E415A43-7BA6-4a73-8743-B73D47E88476>
  DWORD AnimTicksPerSecond;
}

Frame Root {
  FrameTransformMatrix {
     1.000000, 0.000000, 0.000000, 0.000000,
     0.000000,-0.000000, 1.000000, 0.000000,
     0.000000, 1.000000, 0.000000, 0.000000,
     0.000000, 0.000000, 0.000000, 1.000000;;
  }
  Frame Cube {
    FrameTransformMatrix {
       1.000000, 0.000000, 0.000000, 0.000000,
       0.000000, 1.000000, 0.000000, 0.000000,
       0.000000, 0.000000, 1.000000, 0.000000,
       3.953169, 0.000000, 0.000000, 1.000000;;
    }
    Mesh { // Cube mesh
      8;
       1.000000; 1.000000;-1.000000;,
       1.000000;-1.000000;-1.000000;,
      -1.000000;-1.000000;-1.000000;,
      -1.000000; 1.000000;-1.000000;,
       1.000000; 0.999999; 1.000000;,
       0.999999;-1.000001; 1.000000;,
      -1.000000;-1.000000; 1.000000;,
      -1.000000; 1.000000; 1.000000;;
      6;
      4;0,1,2,3;,
      4;4,7,6,5;,
      4;0,4,5,1;,
      4;1,5,6,2;,
      4;2,6,7,3;,
      4;4,0,3,7;;
      MeshNormals { // Cube normals
        6;
         0.000000; 0.000000;-1.000000;,
         0.000000;-0.000000; 1.000000;,
         1.000000;-0.000000; 0.000000;,
        -0.000000;-1.000000;-0.000000;,
        -1.000000; 0.000000;-0.000000;,
         0.000000; 1.000000; 0.000000;;
        6;
        4;0,0,0,0;,
        4;1,1,1,1;,
        4;2,2,2,2;,
        4;3,3,3,3;,
        4;4,4,4,4;,
        4;5,5,5,5;;
      } // End of Cube normals
      MeshMaterialList { // Cube material list
        1;
        6;
        0,
        0,
        0,
        0,
        0,
        0;;
        Material Material {
           0.640000; 0.640000; 0.640000; 1.000000;;
           96.078431;
           0.500000; 0.500000; 0.500000;;
           0.000000; 0.000000; 0.000000;;
        }
      } // End of Cube material list
    } // End of Cube mesh
  } // End of Cube
} // End of Root
AnimTicksPerSecond {
  24;
}
AnimationSet Global {
  Animation {
    {Cube}
    AnimationKey { // Rotation
      0;
      10;
      0;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      1;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      2;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      3;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      4;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      5;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      6;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      7;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      8;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
      9;4;-1.000000, 0.000000, 0.000000, 0.000000;;;
    }
    AnimationKey { // Scale
      1;
      10;
      0;3; 1.000000, 1.000000, 1.000000;;,
      1;3; 1.000000, 1.000000, 1.000000;;,
      2;3; 1.000000, 1.000000, 1.000000;;,
      3;3; 1.000000, 1.000000, 1.000000;;,
      4;3; 1.000000, 1.000000, 1.000000;;,
      5;3; 1.000000, 1.000000, 1.000000;;,
      6;3; 1.000000, 1.000000, 1.000000;;,
      7;3; 1.000000, 1.000000, 1.000000;;,
      8;3; 1.000000, 1.000000, 1.000000;;,
      9;3; 1.000000, 1.000000, 1.000000;;;
    }
    AnimationKey { // Position
      2;
      10;
      0;3;-11.989254, 0.000000, 0.000000;;,
      1;3;-11.916801, 0.000000, 0.000000;;,
      2;3;-11.708167, 0.000000, 0.000000;;,
      3;3;-11.375905, 0.000000, 0.000000;;,
      4;3;-10.931933, 0.000000, 0.000000;;,
      5;3;-10.387617, 0.000000, 0.000000;;,
      6;3;-9.753836, 0.000000, 0.000000;;,
      7;3;-9.041045, 0.000000, 0.000000;;,
      8;3;-8.259341, 0.000000, 0.000000;;,
      9;3;-7.418507, 0.000000, 0.000000;;;
    }
  }
} // End of AnimationSet Global

Yes Atom, that looks like it will work. The export even has the option of not including the mesh which is what I wanted.