From eae00feb5ac3c8966f9902e3bb53b605b35a7d31 Mon Sep 17 00:00:00 2001 From: Abdur Rahman Bilal Date: Fri, 19 Apr 2024 10:46:56 -0400 Subject: [PATCH] Updated --- README.md | 28 ++++++++++++++++++++++++++-- releases/v1.zip | Bin 0 -> 21443 bytes 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100755 releases/v1.zip diff --git a/README.md b/README.md index 56a7e70..491c1d0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # GeoID Python Converter -This is a python script that converts GeoIDs/FIPS county codes in a `CSV` Dataset to `County Name, StateCode`. +This is a Python script that converts GeoIDs/FIPS county codes in a `CSV` Dataset to `County Name, StateCode`. Video DEMO: @@ -9,4 +9,28 @@ https://github.com/aramb-dev/geoid-python-converter/assets/65731416/53a6f370-227 ## Instructions -Download the release zip file. +Download the zip file in the releases. + +Extract the zip file. + +Optional: Open the `geoid.py` file in your favorite text editor. + +Drop your dataset into the same folder as the `geoid.py` file. + +Run the script. + +Enter the name of the dataset file without inserting the `.csv` extension at the end. The script will automatically add the `.csv` extension. + +Copy and Paste the name of the column that contains the GeoID/FIPS county codes. Do not change the format of the column name. + +The script will then ask you to enter the name of the new `.csv` file. If you want to keep it the same with `updated_` added at the beginning of the file, enter `12`. + +The script will then output the new `.csv` file with the updated GeoIDs/FIPS county codes. + +## + +Credits: [David Hochman](https://tbed.org) county [geoIDs](https://tbed.org/demo/index.php?function=search&tablename=county_vw). + +If you find any issues, please [open an issue on GitHub](https://github.com/aramb-dev/geoid-python-converter/issues). + +If you have any suggestions, please [open a PR on GitHub](https://github.com/aramb-dev/geoid-python-converter/pulls). \ No newline at end of file diff --git a/releases/v1.zip b/releases/v1.zip new file mode 100755 index 0000000000000000000000000000000000000000..5f10fa0f8e34cee5ceac419f9316d3847d764da5 GIT binary patch literal 21443 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