This is for a data mining task where we are automating scoring of the quality of the extraction. 
There is a gold standard csv that might consist of the the fields that look like

golden_standard.csv

| id | description             | amount  | date       |
|----|-------------------------|---------|------------|
| 1  | Some description.       | $150.54 | 12/12/2012 |
| 2  | Some other description. | $200    | 10/10/2015 |
| 3  | Other description.      | $25     | 11/11/2014 |
| 4  | My description          | $11.35  | 01/01/2015 |
| 5  | Your description.       | $20     | 03/03/2013 |


, and then there are two possible extraction results files:

extract1.csv

| id | description             | date       |
|----|-------------------------|------------|
| 1  | Some description.       | 12/12/2012 |
| 2  | Some other description. | 10/10/2015 |
| 3  | Other description.      | 11/11/2014 |
| 4  | 122333222233332221      | 11/11/2014 |
| 5  | Your description.       | 03/03/2013 |


extract2.csv

| id | description             | amount  | date       |
|----|-------------------------|---------|------------|
| 1  | Some description.       | $150.54 | 12/12/2012 |
| 2  | Some other description. | $200    | 10/10/2015 |
| -  | ----------------------- | -----   | ---------- |
| 5  | Your description.       | $20     | 03/03/2013 |


extract3.csv

| Garbage  | More Garbage       |
| Garbage  | More Garbage       | 


And I would like to have my program report that extract 1 is missing a column and that values are not properly matched in column 2.

For the second case, I am missing entries and that some rows are all mismatched.

In the last case, resulting csv was all screwed up, but I still want program to detect some meaningful abberation.

Does anyone have some quick and clever way in python to do this kind of comparison? 

I have my regular, longish row-by-row and column-by-column iterative way that I could post here, but I am thinking that there might be a quicker, more elegant Pythonic way to do this. 

Any help is greatly appreciated.


Question: How to upgrade to Android 2.2 [Samsung GT i5800]?
Answer: You could uninstall Kies and the drivers completely, and then install the UK version of Kies from here.  (Make sure to select the UK as your location during install).  This should allow you to perform the update, although it might not give you the language you want.  This worked for me to get Froyo on my Vibrant before it was released in the US.  Alternatively you could try another European country that has had an official update released.

You could also try flashing the latest European firmware via Odin.  XDA has a guide on this (see the UPGRADING section).  This is risky if you don't follow the instructions closely and will void your warranty just like rooting, but I've used Odin dozens of times on my Vibrant with no issues.