Saving data as .csv files

If you are saving the particle velocity in the VTK files, you can access that variable for each particle.

To see the array names, you can do something like this (untested):

particle_reader = (
        vtk.vtkXMLPPolyDataReader()
        if path.suffix == ".pvtp"
        else vtk.vtkXMLPolyDataReader()
    )
particle_reader.SetFileName(path)
particle_reader.Update()

data = particle_reader.GetOutput()
point_data = data.GetPointData()

for i in range(point_data.GetNumberOfArrays()):
    print(point_data.GetArrayName(i))

Then to get the actual data array, do something like this (with the array name you want, printed with the above code):

array = point_data.GetAbstractArray(name)