Sometimes I become unreasonably interested in the answers to trivia questions of my own devising. The most recent one of these was "Which actor has portrayed the most real presidents in the movies?" This was prompted by my wife watching /The Butler/ and my noticing Robin Williams as Eisenhower over her shoulder. Remember that he also (arguably--I'll get to this later) played Teddy Roosevelt in the /Night at the Museum/ movies.
This seems like exactly the sort of question somebody would have already worked out and stashed on a Wikipedia--or at least Wikia--page somewhere, but few minutes of furious Googling provided no satisfying answers. It was time to take matters into my own hands.
Luckily, there is already a Wikipedia page that had all the data I needed to answer this question, though it was organized by president rather than by actor. I would have to do some massaging to get what I needed.
Rather than spend a lot of time writing a script to scrape the page and massage this data into a usable format, I did a cut and paste job in LibreOffice Calc. Some manual massaging got it into a state where I have rows of data like this:
| President | Actor | Movie | Year | |-----------------------+------------------+---------------------------+------| | James K. Polk | Addison Richards | The Oregon Trail | 1959 | | Ulysses S. Grant | Aidan Quinn | Jonah Hex | 2010 | | Franklin D. Roosevelt | Al Richardson | Cash and Carry | 1937 | | George Washington | Alan Mowbray | Alexander Hamilton | 1931 | | George Washington | Alan Mowbray | The Phantom President | 1932 | | George Washington | Alan Mowbray | Where Do We Go from Here? | 1945 | ...etc
It would probably be better and more comprehensive to come up with a query to run against the IMDB dataset, but I was impatient and wanted at least a preliminary answer ASAP. My wife had lost interest by this point, but I persevered.
Finally, with the data massaged just how I wanted it, I could issue this command and get my answer
$ cut -d, -f 1,2 < presidents_by_actor.csv | sort | uniq | cut -d, -f2 | sort | uniq -c | sort -rn | head 2 Robin Williams 2 Ian Wolfe 2 Bob Gunton 2 Anthony Hopkins 1 Woody Harrelson 1 William Phipps 1 William Petersen 1 William Davidson 1 William Daniels 1 Walter Massey
Aha! Vindication! My observation about Robin Williams' acting career having an unusually high number of presidents in it was a correct one. According to this dataset, only 4 film actors have portrayed more than one president. Hmm, but I've never heard of two of these guys, and I remember Anthony Hopkins as Nixon, but not as any other president. Let's see which ones these guys did:
$ cut -d, -f 1,2
<presidents_by_actor.csv | sort | uniq | cut -d, -f2 | sort | uniq -c | sort -rn | grep 2\ | sed 's/^[\ 0-9]*//' | while read actor; do echo "$actor:"; grep "$actor" presidents_by_actor.csv | cut -d, -f1,3,4; echo; done Robin Williams: Theodore Roosevelt,Night at the Museum,2006 Theodore Roosevelt,Night at the Museum: Battle of the Smithsonian,2009 Theodore Roosevelt,Night at the Museum: Secret of the Tomb,2014 Dwight D. Eisenhower,The Butler,2013 Ian Wolfe: James K. Polk,California,1947 Calvin Coolidge,The Court-Martial of Billy Mitchell,1955 Bob Gunton: Woodrow Wilson,Iron Jawed Angels,2004 Richard Nixon,Elvis Meets Nixon,1997 Anthony Hopkins: John Quincy Adams,Amistad,1997 Richard Nixon,Nixon,1995
Ah I guess I've never seen Amistad (it's rated R and I would have been 9 at the time). This and the others seem like candidates for my to-watch list, especially /Elvis Meets Nixon/ whose title would seem very relevant to my interests and which gets a relatively fresh 74% on the Tomatometer.
In any case, we have an answer: There are four actors, based on this data, who hold this distinction. But wait, the data isn't the whole story.
The Real Answers
To move away from the world of shellscripts, and into the world of movie trivia pedantry, does Robin Williams' record even count? Recall that the "Teddy Roosevelt" in /Night at the Museum/ is not in fact the man himself, but a wax mannequin. There's even a very touching line:
Actually, I never did any of those things. Teddy Roosevelt did. I was manufactured in a mannequin factory in Poughkeepsie. I never shot a wild beast. I'm not even brave enough to tell that beautiful woman [Sacagawea] I love her. But you... you gotta finish the job this time. You can't quit. I'm made of wax, Larry. What are you made of?
Presuming that the presidential portrayals in these other movies I haven't seen yet are "real" portrayals of "real" presidents, they should presumably count more than Robin Williams' performance does, since it's 2nd-order fake. A portrayal of something that is only a portrayal of a president, rather than a direct portrayal of one.
So, to really be accurate, we have to take away Williams' slice of this crown and redistribute it three ways, between Ian Wolfe, Anthony Hopkins, and Bob Gunton.