To reduce peak demand, many utility companies are transitioning from fixed rate pricing plans to real-time pricing plans. To apply real-time pricing plans, it is crucial to collect accurate real-time power consumption readings from individual homes. Thus, utility companies are increasing the installation of smart meters in individual homes. Smart meters can record energy related data (e.g., power consumption) every second. However, power consumption data with high time granularity needs huge data storage space and generates significant communication overhead for utility companies to gather all the data for the pricing plans. In this paper, we present E-Sketch, a middleware for utility companies to gather data from smart meters with much less storage and communication overhead. E-Sketch utilizes adaptive sampling to compress power consumption changes in time domain. Then frequency compression is applied to further compress the sampled data. We conducted extensive system evaluations with 30 homes' second-level power consumption data for more than 2 months. Results indicate i) our design can reduce data storage space significantly by 90% with more than 99% accuracy of second-level power consumption on average for a single home, and ii) our design can achieve even more than 99.8% accuracy on average for aggregated power consumption of 30 homes.