We use measurements of swimming bacteria in an optical trap to determine fundamental properties of bacterial propulsion. In particular, we directly measure the force required to hold the bacterium in the optical trap and determine the propulsion matrix, which relates the translational and angular velocity of the flagellum to the torques and forces propelling the bacterium. From the propulsion matrix, dynamical properties such as torques, swimming speed, and power can be obtained by measuring the angular velocity of the motor. We find significant heterogeneities among different individuals even though all bacteria started from a single colony. The propulsive efficiency, defined as the ratio of the propulsive power output to the rotary power input provided by the motors, is found to be approximately 2%, which is consistent with the efficiency predicted theoretically for a rigid helical coil.