Giter Club home page Giter Club logo

openelections-data-oh's Introduction

Build Status

OpenElections Data Ohio

This repository contains pre-processed election results from Ohio, formatted to be ingested into the OpenElections processing pipeline. It contains mostly CSV files converted from HTML tables. Interested in contributing? We have a bunch of easy tasks for you to tackle.

Here is what a finished CSV file looks like. Note that each row represents a single result for a single candidate, even if the data has multiple candidates in a single row. Also, vote totals do not contain commas or other formatting.

If you're familiar with git and Github, clone this repository and get started. If not, you can still help: leave a comment on a task you'd like to work on, or just convert any of the files into CSV and send the result to [email protected].

openelections-data-oh's People

Contributors

bajh avatar christopherjenness avatar dwillis avatar hodgesmr avatar palewire avatar warwickmm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openelections-data-oh's Issues

Scrape or convert 2000 county-level Democratic Ohio House primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__democratic__primary__state_house.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State House as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level U.S. Senate results

Using the data here, produce a CSV file. Things to know:

  • Output file is named 20001107__oh__general__senate.csv
  • Headers should be: county, candidate, party, office, district, votes, pct. Use U.S. Senate as office and leave district empty.
  • Only include candidate totals, don't include overall totals.

Scrape or convert 2000 county-level Republican Ohio Senate primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__republican__primary__state_senate.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State Senate as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level Libertarian Ohio Senate primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__libertarian__primary__state_senate.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State Senate as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level U.S. Senate primary results

Using files for Democrats, Republicans, Libertarians and Natural Law, produce a combined or separate CSV files. Things to know:

  • Output file is named 20000307__oh__primary__senate.csv (if one file), or 20000307__oh__democratic__primary__senate.csv and 20000307__oh__republican__primary__senate.csv for party-specific files.
  • Headers should be: county, candidate, party, office, district, votes. Use U.S. Senate as office and leave district empty.
  • Only include candidate totals, don't include overall totals.

Scrape or convert 2000 county-level presidential results

Using the data here, produce a CSV file. Things to know:

  • Output file is named 20001107__oh__general__president.csv
  • Headers should be: county, candidate, party, office, district, votes, pct. Use President as office and leave district empty.
  • Only include candidate totals, don't include overall totals.

Scrape or convert 2000 county-level Republican Ohio House primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__republican__primary__state_house.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State House as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level U.S. House primary results

Using files for Democrats, Republicans, Libertarians and Natural Law produce a combined or separate CSV files. Things to know:

  • Output file is named 20000307__oh__primary__senate.csv (if one file), or 20000307__oh__democratic__primary__senate.csv and 20000307__oh__republican__primary__senate.csv for party-specific files.
  • Headers should be: county, candidate, party, office, district, votes. Use U.S. House as office and use the district number for the district.
  • Only include candidate totals, don't include overall totals.

Scrape or convert 2000 county-level Natural Law Ohio House primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__natural_law__primary__state_house.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State House as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level Libertarian Ohio House primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__libertarian__primary__state_house.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State House as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level Ohio Senate results

Using the data here, produce a CSV file. Things to know:

  • Output file is named 20001107__oh__general__state_senate.csv
  • Headers should be: county, candidate, party, office, district, votes, pct. Use State Senate as office and the district number as the district.
  • Only include candidate totals, don't include overall totals.

Scrape or convert 2000 county-level Natural Law Ohio Senate primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__natural_law__primary__state_senate.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State Senate as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrapers or data entry for Nov. 6, 2007, special primary elections for U.S. House

County-level data only, HTML tables for Democrats and Republicans. Both can be placed in a single file or separate files; it's up to you. Things to know:

  • Output file is named 20111106__oh__special__primary__house__5.csv (if one file), or 20111106__oh__democratic__special__primary__house__5.csv and 20111106__oh__republican__special__primary__house__5.csv for party-specific files.
  • Headers should be: county, candidate, party, office, district, votes, pct. Use U.S. House as office.
  • Only include candidate totals, don't include county totals.

Wrong Districts in 20161108__oh__general__precinct

There are incorrect districts in 20161108__oh__general__precinct.

I'm not sure if it's incorrect across the board, but I discovered it in the case of OH-01 and OH-02 both crossing into Hamilton County.

For example:

Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,1,R,Steve Chabot,0
Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,1,,Sholom D. Keller,0
Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,1,,Kiumars G. Kiani,0
Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,1,D,Michele Young,0
Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,2,,Janet Everhard,0
Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,2,D,William R. Smith,157
Hamilton,BLUE ASH 1-A,AAA,Representative to Congress,2,R,Brad Wenstrup,364

I do not believe the Hamilton,BLUE ASH 1-A,AAA precinct should include any District 1 candidates.

I checked the 2016 Hamilton Country source file from the sources repository, and the aforementioned Blue Ash district appears on the District 2 sheet, but not in the District 1 sheet.

I also grabbed an export from the Hamilton County board of elections and confirmed that the precincts don't accommodate multiple districts.

The issue happens in the other direction as well:

Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,1,R,Steve Chabot,72
Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,1,,Sholom D. Keller,0
Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,1,,Kiumars G. Kiani,0
Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,1,D,Michele Young,618
Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,2,,Janet Everhard,0
Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,2,D,William R. Smith,0
Hamilton,CINCINNATI 3-A,ACZ,Representative to Congress,2,R,Brad Wenstrup,0

The Hamilton,CINCINNATI 3-A,ACZ precinct should be a District 1 precinct, but should not be a District 2 precinct.

I found that all precincts in Hamilton County in 20161108__oh__general__precinct appear for District 1 and District 2 candidates.

It's entirely possible that this issue extends beyond Hamilton County, but I haven't yet had a chance to investigate.

Scrape or convert 2000 county-level Democratic presidential primary results

County-level data only, HTML table here. Things to know:

  • Output file is named 20000307__oh__democratic__primary__president.csv
  • Presidential results tallied by congressional district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use President as office.
  • Only include candidate totals, don't include overall totals.

Scrape 2002 general election results

Using HTML tables here, create a single CSV file containing results for the following offices: Governor/Lt Gov, Attorney General, Auditor, Secy of State, Treasurer, US Representative, State Senate, State Representative.

  • Output file is named 20021105__oh__general.csv
  • Headers should be: county, candidate, party, office, district, votes, pct. Leave district empty for all but US Rep, State Senate and State Rep offices.

Scrape or convert 2000 county-level Democratic Ohio Senate primary results

HTML table here. Things to know:

  • Output file is named 20000307__oh__democratic__primary__state_senate.csv
  • Results tallied by legislative district - use the district number in the results and create rows for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use State Senate as office.
  • Only include candidate totals, don't include overall totals. You can omit precinct reporting percentage.

Scrape or convert 2000 county-level Republican presidential primary results

Separate files for
Congressional district-level data and county-level. You should put them into a single file. Things to know:

  • Output file is named 20000307__oh__republican__primary__president.csv
  • For Presidential results tallied by congressional district, create a row for each combination of district and county.
  • Headers should be: county, candidate, party, office, district, votes. Use President as office.
  • Only include candidate totals, don't include overall totals.

Outdated Miami County 2018 results

From Ohio Secretary of State's Office (emphasis added by me):

On January 18, 2019, the LaRose Administration became aware that the Miami County Board of Elections (“Board”) had not counted 6,282 early in-person absentee votes cast in the November 2018 General Election. Upon discovery, our administration immediately launched an investigation into the Board and placed the Board under administrative oversight. Our administration instructed the Board to reconcile the in-person absentee votes and amend its official results. The Board certified its amended results on January 22, 2019, and amended its Absentee Supplemental Report on February 13, 2019. Below is the amended data from the Board underneath the election results as originally certified and reported.

The 2018 data currently in this repo was merged on December 30, 2018. Miami County values should be updated to reflected these amended results.

Scrape or convert 2000 county-level U.S. House results

Using the data here, produce a CSV file. Things to know:

  • Output file is named 20001107__oh__general__house.csv
  • Headers should be: county, candidate, party, office, district, votes, pct. Use U.S. House as office and the district number as the district.
  • Only include candidate totals, don't include overall totals.

Strange data in 2016 Precinct results

The data is formatted a little weird in the 2016 precinct results.

Some examples:

  • Butler,FAIR2WD1,AAB,President (at-large),,R,Donald J. Trump,93 (is at-large desirable?)
  • Butler,FAIR2WD1,AAB,President (district),8,R,Jeb Bush,1 (are district and 8 desirable?)
  • Butler,FAIR2WD1,AAB,U.S. House,"08 (idle ", leading zero)
  • Unexpired Term Ending 01/03/2017",R,Matthew Ashworth,1 (Probably erroneous data?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.