{"id":1031,"date":"2016-02-16T15:17:44","date_gmt":"2016-02-16T15:17:44","guid":{"rendered":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/?p=1031"},"modified":"2016-02-16T15:22:43","modified_gmt":"2016-02-16T15:22:43","slug":"higher-python-reading-from-a-file","status":"publish","type":"post","link":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/2016\/02\/16\/higher-python-reading-from-a-file\/","title":{"rendered":"Higher &#8211; Python &#8211; Reading from a file"},"content":{"rendered":"<p><a href=\"https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1032\" data-permalink=\"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/2016\/02\/16\/higher-python-reading-from-a-file\/python-logo-notext-svg\/\" data-orig-file=\"https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_.png\" data-orig-size=\"1024,1024\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Python-logo-notext.svg\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/glow-prod-nl.s3.eu-west-1.amazonaws.com\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_-300x300.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Security-Token=IQoJb3JpZ2luX2VjEID%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJHMEUCIQDqtRdM0s00usLE3OXDcwQDudFMNS9VAkM8V8cZ%2Bh%2FvugIgLimo%2FJsRJI303EmFk2%2FixzaJZ9N%2BOLlMXrsq78KXfmQquQUISRAFGgwyNzM1NzAxOTU0MzMiDN9fMR5NrpL2NSoIOyqWBUqiLIIGG7Y%2FDziOxtYFC38BLk2v5Ufxn8h5CEzAe6cIW9bKzLSQzSWGQxPibvUXufw%2FthQxrdNlylmCEYcKuSTwESR2OJ%2BE%2BbJfp1%2FfYcn%2FHPMuyMTQ8kArPpHKuSR9zbjiPjbvQ3QLu%2FspHFBh8kK4OoSLbuvobejr3%2BB5QqG2I6fvDxzjjoRRltcNkhYYqNHmV%2Fw5kWsAJIVa8vnM8lBmkCLNIQdNv6renhjXSZ0oZXWl2foYy4%2Fnt%2F5weLmWPVgQz9PWfwrg%2FoR7RSmeobNi4c4Z7UgqXNtgOojhtsliEC%2Fz%2BQu%2F6RK0b0VUwfsNVj1DkeIbLYy%2Bs0%2BRrF6kcJlv81WnwDuVT%2Bg3yv%2FUkR9nINJf8zQsvIrZkY0MF7ZwfKvgfbdbRawmPm7lGQWGzAIS%2BsFkDj6sDp6%2FqatWC5wqd6L2d9uHggeEwGNXK%2B3eIaw6UuxU6BeyMgAN2vBuLFFr4i4YD0VUHVrfcXytW1J64mCiUo55OnklRRVtMfQsrZU94wM%2FQANJDc8vngMSIyW%2FbVoXVLXq6VG%2Fy4nkLjewU6MdT%2BwFW2dNu5D%2FEXPgJyCdpmT0PEPM180Fnibd6KRhO6i59AmirYXG9ptXMNK4vWntTYOzPaghYL7%2FI0qSacFxpekYVF%2F0vDQC1M9LUp%2FyCyFm2OzO1IyRU5DBfHy%2BhXZKzO7WGAPoxjBA1GgLyAD5CCP2ReI%2F1Tz9jD5HqaL0fgAewyU30UbdN%2FslBLXQLQZHscL57mQAYfZ%2BoGccT0xmnPz0t%2BB63HzhQ4lTeki%2F%2BcrT51r%2FRZ9s00C7AQT0L8RWBRjpQoWeCAdtx897cbPQSSep8t7FvLmRH9Zr6oJfs0reH4nZyWgVWaa6vX%2FBxiz0xcIzMP3EktAGOrEB%2Bo6%2FiLfMnlFeLU8xWrYZ2Ifn9vnCZzbHUDb4%2FPyIJdML0c45DxgIyOtN703Q4RlNC5qViGnjhPNxQvPsgWRHVcG3UGJ7wNDk1RX0IFEe%2Fs79yeOfQ%2ByTGcan5v%2FYBZn%2BLeVMic3CpCQVx4ivhPSkV8D4fT%2FX%2FwG4OnEECQ39iefQmQKrySNBn0rX28EOaQOcAAlKXo5MtE85loffAvBWurEUvclcJPLeqA%2BWZKsk%2F2l%2B&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47UZ4LDKELZ%2F20260513%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260513T165632Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=5b68cb10a706c73be53716aedf6f813e7cc74710047bd3409c549b14b20ca7da\" data-large-file=\"https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_.png\" class=\" size-thumbnail wp-image-1032 alignright\" src=\"https:\/\/glow-prod-nl.s3.eu-west-1.amazonaws.com\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_-150x150.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&#038;X-Amz-Security-Token=IQoJb3JpZ2luX2VjEID%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJHMEUCIQDqtRdM0s00usLE3OXDcwQDudFMNS9VAkM8V8cZ%2Bh%2FvugIgLimo%2FJsRJI303EmFk2%2FixzaJZ9N%2BOLlMXrsq78KXfmQquQUISRAFGgwyNzM1NzAxOTU0MzMiDN9fMR5NrpL2NSoIOyqWBUqiLIIGG7Y%2FDziOxtYFC38BLk2v5Ufxn8h5CEzAe6cIW9bKzLSQzSWGQxPibvUXufw%2FthQxrdNlylmCEYcKuSTwESR2OJ%2BE%2BbJfp1%2FfYcn%2FHPMuyMTQ8kArPpHKuSR9zbjiPjbvQ3QLu%2FspHFBh8kK4OoSLbuvobejr3%2BB5QqG2I6fvDxzjjoRRltcNkhYYqNHmV%2Fw5kWsAJIVa8vnM8lBmkCLNIQdNv6renhjXSZ0oZXWl2foYy4%2Fnt%2F5weLmWPVgQz9PWfwrg%2FoR7RSmeobNi4c4Z7UgqXNtgOojhtsliEC%2Fz%2BQu%2F6RK0b0VUwfsNVj1DkeIbLYy%2Bs0%2BRrF6kcJlv81WnwDuVT%2Bg3yv%2FUkR9nINJf8zQsvIrZkY0MF7ZwfKvgfbdbRawmPm7lGQWGzAIS%2BsFkDj6sDp6%2FqatWC5wqd6L2d9uHggeEwGNXK%2B3eIaw6UuxU6BeyMgAN2vBuLFFr4i4YD0VUHVrfcXytW1J64mCiUo55OnklRRVtMfQsrZU94wM%2FQANJDc8vngMSIyW%2FbVoXVLXq6VG%2Fy4nkLjewU6MdT%2BwFW2dNu5D%2FEXPgJyCdpmT0PEPM180Fnibd6KRhO6i59AmirYXG9ptXMNK4vWntTYOzPaghYL7%2FI0qSacFxpekYVF%2F0vDQC1M9LUp%2FyCyFm2OzO1IyRU5DBfHy%2BhXZKzO7WGAPoxjBA1GgLyAD5CCP2ReI%2F1Tz9jD5HqaL0fgAewyU30UbdN%2FslBLXQLQZHscL57mQAYfZ%2BoGccT0xmnPz0t%2BB63HzhQ4lTeki%2F%2BcrT51r%2FRZ9s00C7AQT0L8RWBRjpQoWeCAdtx897cbPQSSep8t7FvLmRH9Zr6oJfs0reH4nZyWgVWaa6vX%2FBxiz0xcIzMP3EktAGOrEB%2Bo6%2FiLfMnlFeLU8xWrYZ2Ifn9vnCZzbHUDb4%2FPyIJdML0c45DxgIyOtN703Q4RlNC5qViGnjhPNxQvPsgWRHVcG3UGJ7wNDk1RX0IFEe%2Fs79yeOfQ%2ByTGcan5v%2FYBZn%2BLeVMic3CpCQVx4ivhPSkV8D4fT%2FX%2FwG4OnEECQ39iefQmQKrySNBn0rX28EOaQOcAAlKXo5MtE85loffAvBWurEUvclcJPLeqA%2BWZKsk%2F2l%2B&#038;X-Amz-Algorithm=AWS4-HMAC-SHA256&#038;X-Amz-Credential=ASIAT7MQN47UZ4LDKELZ%2F20260513%2Feu-west-1%2Fs3%2Faws4_request&#038;X-Amz-Date=20260513T165632Z&#038;X-Amz-SignedHeaders=host&#038;X-Amz-Expires=900&#038;X-Amz-Signature=4bab51d7d53d0ca1447b03f94483cb760d1505444f9191ee423b2f9a2723a48c\" alt=\"Python-logo-notext.svg\" width=\"150\" height=\"150\" srcset=\"https:\/\/glow-prod-nl.s3.eu-west-1.amazonaws.com\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_-150x150.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Security-Token=IQoJb3JpZ2luX2VjEID%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJHMEUCIQDqtRdM0s00usLE3OXDcwQDudFMNS9VAkM8V8cZ%2Bh%2FvugIgLimo%2FJsRJI303EmFk2%2FixzaJZ9N%2BOLlMXrsq78KXfmQquQUISRAFGgwyNzM1NzAxOTU0MzMiDN9fMR5NrpL2NSoIOyqWBUqiLIIGG7Y%2FDziOxtYFC38BLk2v5Ufxn8h5CEzAe6cIW9bKzLSQzSWGQxPibvUXufw%2FthQxrdNlylmCEYcKuSTwESR2OJ%2BE%2BbJfp1%2FfYcn%2FHPMuyMTQ8kArPpHKuSR9zbjiPjbvQ3QLu%2FspHFBh8kK4OoSLbuvobejr3%2BB5QqG2I6fvDxzjjoRRltcNkhYYqNHmV%2Fw5kWsAJIVa8vnM8lBmkCLNIQdNv6renhjXSZ0oZXWl2foYy4%2Fnt%2F5weLmWPVgQz9PWfwrg%2FoR7RSmeobNi4c4Z7UgqXNtgOojhtsliEC%2Fz%2BQu%2F6RK0b0VUwfsNVj1DkeIbLYy%2Bs0%2BRrF6kcJlv81WnwDuVT%2Bg3yv%2FUkR9nINJf8zQsvIrZkY0MF7ZwfKvgfbdbRawmPm7lGQWGzAIS%2BsFkDj6sDp6%2FqatWC5wqd6L2d9uHggeEwGNXK%2B3eIaw6UuxU6BeyMgAN2vBuLFFr4i4YD0VUHVrfcXytW1J64mCiUo55OnklRRVtMfQsrZU94wM%2FQANJDc8vngMSIyW%2FbVoXVLXq6VG%2Fy4nkLjewU6MdT%2BwFW2dNu5D%2FEXPgJyCdpmT0PEPM180Fnibd6KRhO6i59AmirYXG9ptXMNK4vWntTYOzPaghYL7%2FI0qSacFxpekYVF%2F0vDQC1M9LUp%2FyCyFm2OzO1IyRU5DBfHy%2BhXZKzO7WGAPoxjBA1GgLyAD5CCP2ReI%2F1Tz9jD5HqaL0fgAewyU30UbdN%2FslBLXQLQZHscL57mQAYfZ%2BoGccT0xmnPz0t%2BB63HzhQ4lTeki%2F%2BcrT51r%2FRZ9s00C7AQT0L8RWBRjpQoWeCAdtx897cbPQSSep8t7FvLmRH9Zr6oJfs0reH4nZyWgVWaa6vX%2FBxiz0xcIzMP3EktAGOrEB%2Bo6%2FiLfMnlFeLU8xWrYZ2Ifn9vnCZzbHUDb4%2FPyIJdML0c45DxgIyOtN703Q4RlNC5qViGnjhPNxQvPsgWRHVcG3UGJ7wNDk1RX0IFEe%2Fs79yeOfQ%2ByTGcan5v%2FYBZn%2BLeVMic3CpCQVx4ivhPSkV8D4fT%2FX%2FwG4OnEECQ39iefQmQKrySNBn0rX28EOaQOcAAlKXo5MtE85loffAvBWurEUvclcJPLeqA%2BWZKsk%2F2l%2B&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47UZ4LDKELZ%2F20260513%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260513T165632Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=4bab51d7d53d0ca1447b03f94483cb760d1505444f9191ee423b2f9a2723a48c 150w, https:\/\/glow-prod-nl.s3.eu-west-1.amazonaws.com\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_-300x300.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Security-Token=IQoJb3JpZ2luX2VjEID%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJHMEUCIQDqtRdM0s00usLE3OXDcwQDudFMNS9VAkM8V8cZ%2Bh%2FvugIgLimo%2FJsRJI303EmFk2%2FixzaJZ9N%2BOLlMXrsq78KXfmQquQUISRAFGgwyNzM1NzAxOTU0MzMiDN9fMR5NrpL2NSoIOyqWBUqiLIIGG7Y%2FDziOxtYFC38BLk2v5Ufxn8h5CEzAe6cIW9bKzLSQzSWGQxPibvUXufw%2FthQxrdNlylmCEYcKuSTwESR2OJ%2BE%2BbJfp1%2FfYcn%2FHPMuyMTQ8kArPpHKuSR9zbjiPjbvQ3QLu%2FspHFBh8kK4OoSLbuvobejr3%2BB5QqG2I6fvDxzjjoRRltcNkhYYqNHmV%2Fw5kWsAJIVa8vnM8lBmkCLNIQdNv6renhjXSZ0oZXWl2foYy4%2Fnt%2F5weLmWPVgQz9PWfwrg%2FoR7RSmeobNi4c4Z7UgqXNtgOojhtsliEC%2Fz%2BQu%2F6RK0b0VUwfsNVj1DkeIbLYy%2Bs0%2BRrF6kcJlv81WnwDuVT%2Bg3yv%2FUkR9nINJf8zQsvIrZkY0MF7ZwfKvgfbdbRawmPm7lGQWGzAIS%2BsFkDj6sDp6%2FqatWC5wqd6L2d9uHggeEwGNXK%2B3eIaw6UuxU6BeyMgAN2vBuLFFr4i4YD0VUHVrfcXytW1J64mCiUo55OnklRRVtMfQsrZU94wM%2FQANJDc8vngMSIyW%2FbVoXVLXq6VG%2Fy4nkLjewU6MdT%2BwFW2dNu5D%2FEXPgJyCdpmT0PEPM180Fnibd6KRhO6i59AmirYXG9ptXMNK4vWntTYOzPaghYL7%2FI0qSacFxpekYVF%2F0vDQC1M9LUp%2FyCyFm2OzO1IyRU5DBfHy%2BhXZKzO7WGAPoxjBA1GgLyAD5CCP2ReI%2F1Tz9jD5HqaL0fgAewyU30UbdN%2FslBLXQLQZHscL57mQAYfZ%2BoGccT0xmnPz0t%2BB63HzhQ4lTeki%2F%2BcrT51r%2FRZ9s00C7AQT0L8RWBRjpQoWeCAdtx897cbPQSSep8t7FvLmRH9Zr6oJfs0reH4nZyWgVWaa6vX%2FBxiz0xcIzMP3EktAGOrEB%2Bo6%2FiLfMnlFeLU8xWrYZ2Ifn9vnCZzbHUDb4%2FPyIJdML0c45DxgIyOtN703Q4RlNC5qViGnjhPNxQvPsgWRHVcG3UGJ7wNDk1RX0IFEe%2Fs79yeOfQ%2ByTGcan5v%2FYBZn%2BLeVMic3CpCQVx4ivhPSkV8D4fT%2FX%2FwG4OnEECQ39iefQmQKrySNBn0rX28EOaQOcAAlKXo5MtE85loffAvBWurEUvclcJPLeqA%2BWZKsk%2F2l%2B&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47UZ4LDKELZ%2F20260513%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260513T165632Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=5b68cb10a706c73be53716aedf6f813e7cc74710047bd3409c549b14b20ca7da 300w, https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>A lot of people find reading from a <a href=\"http:\/\/www.pcmag.com\/encyclopedia\/term\/61964\/sequential-file\" target=\"_blank\">sequential file<\/a> difficult. Well lets break it down, first of all what is a sequential file? A sequential file is a text based (ASCII or UNICODE) file that is made up of both printing and non printing characters. The end of the file is signalled with <a href=\"https:\/\/en.wikipedia.org\/wiki\/End-of-file\" target=\"_blank\">EoF<\/a>, often programmers put data in separate lines using a<a href=\"https:\/\/en.wikipedia.org\/wiki\/Newline\" target=\"_blank\">\u00a0new line\u00a0character<\/a>. Sometimes the files are in <a href=\"http:\/\/www.computerhope.com\/jargon\/c\/csv.htm\" target=\"_blank\">CSV format<\/a>, which means that each line holds a records worth of data.<\/p>\n<p>The basic premise of any Python read file access is<\/p>\n<ol>\n<li>Open file for reading<\/li>\n<li>read each line<\/li>\n<li>close file<\/li>\n<\/ol>\n<p>This post will mostly be focused on different ways of doing step 2.<\/p>\n<p><!--more--><\/p>\n<h2>Getting a single piece of data from a file.<\/h2>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<pre style=\"margin: 0;line-height: 125%\"><span style=\"color: #888888\"># Get single piece of data from a file and store in variable<\/span>\r\n\r\ntext_file <span style=\"color: #333333\">=<\/span> <span style=\"color: #007020\">open<\/span>(<span style=\"background-color: #fff0f0\">'single_name.txt'<\/span>,<span style=\"background-color: #fff0f0\">'r'<\/span>) <span style=\"color: #888888\"># 1. open file<\/span>\r\nname <span style=\"color: #333333\">=<\/span> text_file<span style=\"color: #333333\">.<\/span>read()                 <span style=\"color: #888888\"># 2. read data from file<\/span>\r\ntext_file<span style=\"color: #333333\">.<\/span>close()                       <span style=\"color: #888888\"># 3. close file<\/span>\r\n\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(<span style=\"background-color: #fff0f0\">'The data in the file \"single_name.txt\" is'<\/span>,name)\r\n<\/pre>\n<\/div>\n<h2>Get multiple lines of data from\u00a0a file.<\/h2>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<pre style=\"margin: 0;line-height: 125%\"><span style=\"color: #888888\"># Get multiple lines of data from a file and store in an array<\/span>\r\n<span style=\"color: #888888\"># Unknown number of lines<\/span>\r\n\r\nnames<span style=\"color: #333333\">=<\/span>[]\r\ntext_file <span style=\"color: #333333\">=<\/span> <span style=\"color: #007020\">open<\/span>(<span style=\"background-color: #fff0f0\">'classList.txt'<\/span>,<span style=\"background-color: #fff0f0\">'r'<\/span>)   <span style=\"color: #888888\"># 1. open file<\/span>\r\n<span style=\"color: #008800;font-weight: bold\">for<\/span> line <span style=\"color: #000000;font-weight: bold\">in<\/span> text_file:                  <span style=\"color: #888888\"># 2. read data from file<\/span>\r\n    names<span style=\"color: #333333\">.<\/span>append(line[:<span style=\"color: #333333\">-<\/span><span style=\"color: #0000dd;font-weight: bold\">1<\/span>])             <span style=\"color: #888888\">#    The [:-1] removes the new line char<\/span>\r\ntext_file<span style=\"color: #333333\">.<\/span>close()                       <span style=\"color: #888888\"># 3. close file<\/span>\r\n\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(<span style=\"background-color: #fff0f0\">'The data in the file \"classList.txt\" is'<\/span>,names)\r\n<\/pre>\n<\/div>\n<h2>Reading from a CSV into records<\/h2>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<table>\n<tbody>\n<tr>\n<td>\n<pre style=\"margin: 0;line-height: 125%\"> 1\r\n 2\r\n 3\r\n 4\r\n 5\r\n 6\r\n 7\r\n 8\r\n 9\r\n10\r\n11\r\n12<\/pre>\n<\/td>\n<td>\n<pre style=\"margin: 0;line-height: 125%\"><span style=\"color: #888888\"># Get data from a CSV file, unknown number of lines<\/span>\r\n<span style=\"color: #888888\"># Read into record<\/span>\r\n\r\nnames<span style=\"color: #333333\">=<\/span>[]\r\n\r\ncsv_file <span style=\"color: #333333\">=<\/span> <span style=\"color: #007020\">open<\/span>(<span style=\"background-color: #fff0f0\">'highscores.csv'<\/span>,<span style=\"background-color: #fff0f0\">'r'<\/span>)   <span style=\"color: #888888\"># 1. Open file<\/span>\r\n<span style=\"color: #008800;font-weight: bold\">for<\/span> line <span style=\"color: #000000;font-weight: bold\">in<\/span> csv_file:                   <span style=\"color: #888888\"># 2. read data from file<\/span>\r\n    names<span style=\"color: #333333\">.<\/span>append(line[:<span style=\"color: #333333\">-<\/span><span style=\"color: #0000dd;font-weight: bold\">1<\/span>]<span style=\"color: #333333\">.<\/span>split(<span style=\"background-color: #fff0f0\">','<\/span>))  <span style=\"color: #888888\"># split into two variables after removing newline         <\/span>\r\ncsv_file<span style=\"color: #333333\">.<\/span>close()                        <span style=\"color: #888888\"># 3. close file<\/span>\r\n\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(<span style=\"background-color: #fff0f0\">'High Scores'<\/span>)\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(names)\r\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2>Read data from CSV file into arrays<\/h2>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: #ffffff;overflow: auto;width: auto;border: solid gray;border-width: .1em .1em .1em .8em;padding: .2em .6em\">\n<table>\n<tbody>\n<tr>\n<td>\n<pre style=\"margin: 0;line-height: 125%\"> 1\r\n 2\r\n 3\r\n 4\r\n 5\r\n 6\r\n 7\r\n 8\r\n 9\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15<\/pre>\n<\/td>\n<td>\n<pre style=\"margin: 0;line-height: 125%\"><span style=\"color: #888888\"># Get data from a CSV file, unknown number of lines<\/span>\r\n<span style=\"color: #888888\"># Read into seperate arrays<\/span>\r\n\r\nnames<span style=\"color: #333333\">=<\/span>[]\r\nscores<span style=\"color: #333333\">=<\/span>[]\r\ncsv_file <span style=\"color: #333333\">=<\/span> <span style=\"color: #007020\">open<\/span>(<span style=\"background-color: #fff0f0\">'highscores.csv'<\/span>,<span style=\"background-color: #fff0f0\">'r'<\/span>)   <span style=\"color: #888888\"># 1. Open file<\/span>\r\n<span style=\"color: #008800;font-weight: bold\">for<\/span> line <span style=\"color: #000000;font-weight: bold\">in<\/span> csv_file:                   <span style=\"color: #888888\"># 2. read data from file<\/span>\r\n    name,score<span style=\"color: #333333\">=<\/span>line[:<span style=\"color: #333333\">-<\/span><span style=\"color: #0000dd;font-weight: bold\">1<\/span>]<span style=\"color: #333333\">.<\/span>split(<span style=\"background-color: #fff0f0\">','<\/span>)     <span style=\"color: #888888\"># split into two variables after removing newline<\/span>\r\n    names<span style=\"color: #333333\">.<\/span>append(name)\r\n    scores<span style=\"color: #333333\">.<\/span>append(<span style=\"color: #007020\">int<\/span>(score))           <span style=\"color: #888888\"># change score to Integer<\/span>\r\ncsv_file<span style=\"color: #333333\">.<\/span>close()                        <span style=\"color: #888888\"># 3. close file<\/span>\r\n\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(<span style=\"background-color: #fff0f0\">'High Scores'<\/span>)\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(names)\r\n<span style=\"color: #008800;font-weight: bold\">print<\/span>(scores)\r\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>There are other\u00a0constructs we can use to read data from files but the steps remain the same.<\/p>\n<ol>\n<li>Open file for reading<\/li>\n<li>read each line<\/li>\n<li>close file<\/li>\n<\/ol>\n<p>I have attached the files I used<\/p>\n<ul>\n<li><a href=\"https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/classList.txt\">classList<\/a><\/li>\n<li><a href=\"https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/highscores.csv\">highscores<\/a><\/li>\n<li><a href=\"https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/single_name.txt\">single_name<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A lot of people find reading from a sequential file difficult. Well lets break it down, first of all what is a sequential file? A sequential file is a text based (ASCII or UNICODE) file that is made up of both printing and non printing characters. The end of the file is signalled with EoF, &hellip;<\/p>\n","protected":false},"author":32,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17932,319,17009],"tags":[125745,125746,125747],"class_list":["post-1031","post","type-post","status-publish","format-standard","hentry","category-computational-constructs","category-oldhigher","category-software-design-devlopment","tag-csv","tag-read-file","tag-record"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/posts\/1031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/comments?post=1031"}],"version-history":[{"count":3,"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/posts\/1031\/revisions"}],"predecessor-version":[{"id":1038,"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/posts\/1031\/revisions\/1038"}],"wp:attachment":[{"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/media?parent=1031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/categories?post=1031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/nl\/ColtnessHS-ComputingScience\/wp-json\/wp\/v2\/tags?post=1031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}