Every reading has a precise timestamp and no two readings have the same timestamp (unless they're both calculated from the same PID(s)), so no matter what you need to deal with the mismatch.

My approach is to take the readings and create a continuous function that interpolates between them — linear interpolation is fine. Thus to combine multiple readings, I use one reading with its precise time and all the other readings with their interpolated values for that time.

With that in place, I can draw graphs like the charging kW for both AC input and DC output (combining voltage and current readings). And then I can do numerical integration on these to draw graphs of total kWh. See attached images. The AC kWh graph can be checked against the car's recorded AC kWh used for the charge, and it turns out to be 99.97% accurate.

From this charging session, I find the EVSE -> Car to be 99.2% efficient, AC -> DC power conversion to be 95.0% efficient, and storage of power into the battery to also be 95.8% efficient. Overall, for this charging session, wall to battery is 90% efficient, which is better than the EPA number. When calculating MPGe, they assume 89% efficiency.