how to attach a camera to a single particle
This script assigns first particle location to another object(In this case Empty). you can parent camera to this object for further manipulation.
import bpy 

ob = bpy.context.scene.objects[&quot;Cube&quot;]
target = bpy.context.scene.objects[&quot;Empty&quot;]

def my_handler(scene, depsgraph):
    eval_ob = ob.evaluated_get(depsgraph)
    particle_system = eval_ob.particle_systems[0]
    target.location = particle_system.particles[0].location 
         
bpy.app.handlers.frame_change_post.clear()
bpy.app.handlers.frame_change_post.append(my_handler)

If you are looking for alternate solution, i recommend Animation Nodes addon, which can do this more efficiently.