Something like:
http://docs.python.org/2/library/csv.html#csv.Sniffer

Then we don't have to do sniffing ourselves (like checking if the header is present or not). Just from experience with what we do with contacts and csvs in go, we seem to get csvs in all kinds of weird formats, so thought it might be worth mentioning.

If you're sure these are going to be in the same format always, the sniffing probably isn't important, but then you shouldn't need to do the `if line != headers['mxit']`, and instead just remove the header if it is going to be present in the format you are going to be given, or not handle it if it is not going to be present.