From 95918841b02c4ba6c12e4b649f846b8c9f2cfe01 Mon Sep 17 00:00:00 2001 From: Isaac Shoebottom Date: Tue, 15 Nov 2022 09:59:08 -0400 Subject: [PATCH] Add lab 16 stuff --- labs/L16/.idea/.gitignore | 8 ++++ labs/L16/.idea/L16.iml | 8 ++++ .../inspectionProfiles/Project_Default.xml | 12 +++++ .../inspectionProfiles/profiles_settings.xml | 6 +++ labs/L16/.idea/misc.xml | 4 ++ labs/L16/.idea/modules.xml | 8 ++++ labs/L16/.idea/vcs.xml | 6 +++ labs/L16/parse_csv.py | 14 ++++++ labs/L16/test_parse_csv.py | 45 +++++++++++++++++++ 9 files changed, 111 insertions(+) create mode 100644 labs/L16/.idea/.gitignore create mode 100644 labs/L16/.idea/L16.iml create mode 100644 labs/L16/.idea/inspectionProfiles/Project_Default.xml create mode 100644 labs/L16/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 labs/L16/.idea/misc.xml create mode 100644 labs/L16/.idea/modules.xml create mode 100644 labs/L16/.idea/vcs.xml create mode 100644 labs/L16/parse_csv.py create mode 100644 labs/L16/test_parse_csv.py diff --git a/labs/L16/.idea/.gitignore b/labs/L16/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/labs/L16/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/labs/L16/.idea/L16.iml b/labs/L16/.idea/L16.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/labs/L16/.idea/L16.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/labs/L16/.idea/inspectionProfiles/Project_Default.xml b/labs/L16/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..212a436 --- /dev/null +++ b/labs/L16/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/labs/L16/.idea/inspectionProfiles/profiles_settings.xml b/labs/L16/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/labs/L16/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/labs/L16/.idea/misc.xml b/labs/L16/.idea/misc.xml new file mode 100644 index 0000000..e40bd1f --- /dev/null +++ b/labs/L16/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/labs/L16/.idea/modules.xml b/labs/L16/.idea/modules.xml new file mode 100644 index 0000000..262470b --- /dev/null +++ b/labs/L16/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/labs/L16/.idea/vcs.xml b/labs/L16/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/labs/L16/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/labs/L16/parse_csv.py b/labs/L16/parse_csv.py new file mode 100644 index 0000000..03d94bf --- /dev/null +++ b/labs/L16/parse_csv.py @@ -0,0 +1,14 @@ +import re + + +def split_csv(string): + return [row.split(",") for row in string.splitlines()] + + +def strip_quotes(string): + strip_regex = re.compile(r'("?)*$("?)') + search = strip_regex.search(string) + if search: + return search.group(1) + else: + return None diff --git a/labs/L16/test_parse_csv.py b/labs/L16/test_parse_csv.py new file mode 100644 index 0000000..88b5e18 --- /dev/null +++ b/labs/L16/test_parse_csv.py @@ -0,0 +1,45 @@ +from parse_csv import split_csv +from parse_csv import strip_quotes + +test_string_1 = """OPEID,INSTNM,TUITIONFEE_OUT +02503400,Amridge University,6900 +00100700,Central Alabama Community College,7770 +01218200,Chattahoochee Valley Community College,7830 +00101500,Enterprise State Community College,7770 +00106000,James H Faulkner State Community College,7770 +00101700,Gadsden State Community College,5976 +00101800,George C Wallace State Community College-Dothan,7710 +""" + +table1 = [['OPEID', 'INSTNM', 'TUITIONFEE_OUT'], + ['02503400', 'Amridge University', '6900'], + ['00100700', 'Central Alabama Community College', '7770'], + ['01218200', 'Chattahoochee Valley Community College', '7830'], + ['00101500', 'Enterprise State Community College', '7770'], + ['00106000', 'James H Faulkner State Community College', '7770'], + ['00101700', 'Gadsden State Community College', '5976'], + ['00101800', 'George C Wallace State Community College-Dothan', '7710']] + + +def test_split_1(): + assert split_csv(test_string_1) == table1 + + +test_string_2 = '''OPEID,INSTNM,TUITIONFEE_OUT +02503400,"Amridge University",6900 +00100700,"Central Alabama Community College",7770 +01218200,"Chattahoochee Valley Community College",7830 +00101500,"Enterprise State Community College",7770 +00106000,"James H Faulkner State Community College",7770 +00101700,"Gadsden State Community College",5976 +00101800,"George C Wallace State Community College-Dothan",7710 +''' + + +def test_split_2(): + assert split_csv(test_string_2) == table1 + + +def test_strip_quotes(): + assert strip_quotes('"hello"') == 'hello' + assert strip_quotes('hello') == 'hello'