Maybe something like this?
import rhinoscriptsyntax as rs
def TestExportObjectData():
lenght=0.0
msg="Select curves/surfaces to export data"
objs = rs.GetObjects(msg,4+8+16,preselect=True)
if not objs: return
filter = "CSV File (*.csv)|*.csv||"
filename = rs.SaveFileName("Save data file as", filter)
if not filename: return
file = open(filename, "w")
for obj in objs:
ID=str(obj)
name=rs.ObjectName(obj)
if rs.IsCurve(obj):
length=rs.CurveLength(obj)
file.write("{};{};{}\n".format(ID,name,length))
else:
area=rs.SurfaceArea(obj)
vol=rs.SurfaceVolume(obj)
acent=rs.SurfaceAreaCentroid(obj)
vcent=rs.SurfaceVolumeCentroid(obj)
if area:aa=area[0]
else: aa=""
if vol: vv=vol[0]
else: vv=""
if acent:ac=acent[0]
else: ac=""
if vcent: vc=vcent[0]
else: vc=""
file.write("{};{};{};{};{};{}\n".format(ID,name,aa,vv,ac,vc))
file.close()
TestExportObjectData()