{"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=IQoJb3JpZ2luX2VjEIb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJGMEQCIGMnWnyCP5BAOPWA23pEI0WYjzMT6jyoFJID1vp3up3jAiAbzxFZn3o4dsfb4GX4AHiBZv29DUmZ9fGSpxz%2FTMd4Vyq5BQhPEAUaDDI3MzU3MDE5NTQzMyIMIgA5lqbmnWr9%2FHYNKpYFK1t8WKTxeOwsLWLTF8vj4n36BjCiJ7iq2RG%2F8PHKMsOnfbHQUNB1%2FsL6eTeaDcHBnb5kWZw4u13pUnNfrrecxsqEyJeCfqeBSxj4lJj%2BKje8KSEWjccvyut3UBAUeBGtE7jZDIfk1n8bNlm1T8heKnF8aVcF1z8Hj4E1nuLxOT4B5N%2Fyx%2FlOJvzhU94Y96XHuk7S9e5d4iyTaMQH4OVOqKHFlyDeR%2F%2FkcI%2BGCA08NkV4yqbAeub3erw49FQzF3hR%2B9B4PXhgybNH4ssw6AHohbwfb11VTH9uZSaPL4lL7WSMqXHJfCrsa82ktSEYj7HH4tJb9B3ZmwpTRnIu2ivZVgpeAbJtxsY57ErRw2lZK6hkPjIEQnzdOVm4yh1tTkEJcUPHa%2FAYsq%2FDZWxELOSBDRsWwuV%2BTRnGfLKStrIWfotU7LuJRhUnQjdtW48IZ2eh90vPu%2FTZdVpBhIrXuU%2FbfnEqM989Pcfx4bf6jSgOZ%2FJP4jgFkJY6QM5bFt0bnTlOD6HZw61OXGfSX2P3oMMbPENbG3qsoB%2FFy1SqZywVjvP8dYfN1iYMKs3EEk61111AQtJnr8hXwLVIRT2xQ1DDiksOBJVZcpYIxj8ak6OB8lsg1f48cJBS6asjfJ%2Fb5sLGY3oR6L4zAC2LgaeLXvzZjZM93FkAUjwhMqE%2FfmUr%2FszTaqrIqxHOXAMNbD38G8CV2Wr4QokW1rE%2FrEnZKBmpZCw8U9Gl3gmIKqNYM1DpyNSPtmZDNwvfnULVD1CX1ePkLpx9q8vGo%2BfPhA4vjPAfFcEhQPIIcBK2HpXv5wODTDmNCUKszwwEsJUVmKRxdpy5vLVDLJrVGT7z4zci2czpFA21Lph3mZ%2BnM477KVKyaE0Gg%2F9sna0w%2FqKjzwY6sgH3XQgDMTvW%2FJnX7K%2BwgNqwW%2BNoYhhGGKImrldcgxPeAnBo2EbGQZlwjiIUT2EFcReQ30lQdy6e0Wd%2BXlgNippgwIB9hO0A0lJN7rs0NcgfypS1qa7m0o2x0TlMIIKWYKCHaKSMdRUDD9Dv0LSmuEStQJPCh39yvX6GMo1q7m1m4nOmrDLqDnokX3MWzUz7VU55TYFbRTeoa2wsvk%2BAAH1L4aWHy2E68FNrQsjygpAkn01E&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47UZUSWMYA3%2F20260422%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260422T144622Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=65ee1beeee44f73baa3dee87fff05cae1e308b1f9fcf93d75ebcec0d0d32ee17\" 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=IQoJb3JpZ2luX2VjEIb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJGMEQCIGMnWnyCP5BAOPWA23pEI0WYjzMT6jyoFJID1vp3up3jAiAbzxFZn3o4dsfb4GX4AHiBZv29DUmZ9fGSpxz%2FTMd4Vyq5BQhPEAUaDDI3MzU3MDE5NTQzMyIMIgA5lqbmnWr9%2FHYNKpYFK1t8WKTxeOwsLWLTF8vj4n36BjCiJ7iq2RG%2F8PHKMsOnfbHQUNB1%2FsL6eTeaDcHBnb5kWZw4u13pUnNfrrecxsqEyJeCfqeBSxj4lJj%2BKje8KSEWjccvyut3UBAUeBGtE7jZDIfk1n8bNlm1T8heKnF8aVcF1z8Hj4E1nuLxOT4B5N%2Fyx%2FlOJvzhU94Y96XHuk7S9e5d4iyTaMQH4OVOqKHFlyDeR%2F%2FkcI%2BGCA08NkV4yqbAeub3erw49FQzF3hR%2B9B4PXhgybNH4ssw6AHohbwfb11VTH9uZSaPL4lL7WSMqXHJfCrsa82ktSEYj7HH4tJb9B3ZmwpTRnIu2ivZVgpeAbJtxsY57ErRw2lZK6hkPjIEQnzdOVm4yh1tTkEJcUPHa%2FAYsq%2FDZWxELOSBDRsWwuV%2BTRnGfLKStrIWfotU7LuJRhUnQjdtW48IZ2eh90vPu%2FTZdVpBhIrXuU%2FbfnEqM989Pcfx4bf6jSgOZ%2FJP4jgFkJY6QM5bFt0bnTlOD6HZw61OXGfSX2P3oMMbPENbG3qsoB%2FFy1SqZywVjvP8dYfN1iYMKs3EEk61111AQtJnr8hXwLVIRT2xQ1DDiksOBJVZcpYIxj8ak6OB8lsg1f48cJBS6asjfJ%2Fb5sLGY3oR6L4zAC2LgaeLXvzZjZM93FkAUjwhMqE%2FfmUr%2FszTaqrIqxHOXAMNbD38G8CV2Wr4QokW1rE%2FrEnZKBmpZCw8U9Gl3gmIKqNYM1DpyNSPtmZDNwvfnULVD1CX1ePkLpx9q8vGo%2BfPhA4vjPAfFcEhQPIIcBK2HpXv5wODTDmNCUKszwwEsJUVmKRxdpy5vLVDLJrVGT7z4zci2czpFA21Lph3mZ%2BnM477KVKyaE0Gg%2F9sna0w%2FqKjzwY6sgH3XQgDMTvW%2FJnX7K%2BwgNqwW%2BNoYhhGGKImrldcgxPeAnBo2EbGQZlwjiIUT2EFcReQ30lQdy6e0Wd%2BXlgNippgwIB9hO0A0lJN7rs0NcgfypS1qa7m0o2x0TlMIIKWYKCHaKSMdRUDD9Dv0LSmuEStQJPCh39yvX6GMo1q7m1m4nOmrDLqDnokX3MWzUz7VU55TYFbRTeoa2wsvk%2BAAH1L4aWHy2E68FNrQsjygpAkn01E&#038;X-Amz-Algorithm=AWS4-HMAC-SHA256&#038;X-Amz-Credential=ASIAT7MQN47UZUSWMYA3%2F20260422%2Feu-west-1%2Fs3%2Faws4_request&#038;X-Amz-Date=20260422T144621Z&#038;X-Amz-SignedHeaders=host&#038;X-Amz-Expires=900&#038;X-Amz-Signature=8ef3933bf12aafd262c7e77872b5fc4a3ccdb2047218da6892a437905c420fb6\" 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=IQoJb3JpZ2luX2VjEIb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJGMEQCIGMnWnyCP5BAOPWA23pEI0WYjzMT6jyoFJID1vp3up3jAiAbzxFZn3o4dsfb4GX4AHiBZv29DUmZ9fGSpxz%2FTMd4Vyq5BQhPEAUaDDI3MzU3MDE5NTQzMyIMIgA5lqbmnWr9%2FHYNKpYFK1t8WKTxeOwsLWLTF8vj4n36BjCiJ7iq2RG%2F8PHKMsOnfbHQUNB1%2FsL6eTeaDcHBnb5kWZw4u13pUnNfrrecxsqEyJeCfqeBSxj4lJj%2BKje8KSEWjccvyut3UBAUeBGtE7jZDIfk1n8bNlm1T8heKnF8aVcF1z8Hj4E1nuLxOT4B5N%2Fyx%2FlOJvzhU94Y96XHuk7S9e5d4iyTaMQH4OVOqKHFlyDeR%2F%2FkcI%2BGCA08NkV4yqbAeub3erw49FQzF3hR%2B9B4PXhgybNH4ssw6AHohbwfb11VTH9uZSaPL4lL7WSMqXHJfCrsa82ktSEYj7HH4tJb9B3ZmwpTRnIu2ivZVgpeAbJtxsY57ErRw2lZK6hkPjIEQnzdOVm4yh1tTkEJcUPHa%2FAYsq%2FDZWxELOSBDRsWwuV%2BTRnGfLKStrIWfotU7LuJRhUnQjdtW48IZ2eh90vPu%2FTZdVpBhIrXuU%2FbfnEqM989Pcfx4bf6jSgOZ%2FJP4jgFkJY6QM5bFt0bnTlOD6HZw61OXGfSX2P3oMMbPENbG3qsoB%2FFy1SqZywVjvP8dYfN1iYMKs3EEk61111AQtJnr8hXwLVIRT2xQ1DDiksOBJVZcpYIxj8ak6OB8lsg1f48cJBS6asjfJ%2Fb5sLGY3oR6L4zAC2LgaeLXvzZjZM93FkAUjwhMqE%2FfmUr%2FszTaqrIqxHOXAMNbD38G8CV2Wr4QokW1rE%2FrEnZKBmpZCw8U9Gl3gmIKqNYM1DpyNSPtmZDNwvfnULVD1CX1ePkLpx9q8vGo%2BfPhA4vjPAfFcEhQPIIcBK2HpXv5wODTDmNCUKszwwEsJUVmKRxdpy5vLVDLJrVGT7z4zci2czpFA21Lph3mZ%2BnM477KVKyaE0Gg%2F9sna0w%2FqKjzwY6sgH3XQgDMTvW%2FJnX7K%2BwgNqwW%2BNoYhhGGKImrldcgxPeAnBo2EbGQZlwjiIUT2EFcReQ30lQdy6e0Wd%2BXlgNippgwIB9hO0A0lJN7rs0NcgfypS1qa7m0o2x0TlMIIKWYKCHaKSMdRUDD9Dv0LSmuEStQJPCh39yvX6GMo1q7m1m4nOmrDLqDnokX3MWzUz7VU55TYFbRTeoa2wsvk%2BAAH1L4aWHy2E68FNrQsjygpAkn01E&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47UZUSWMYA3%2F20260422%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260422T144622Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=98c2f5ed0198691c1f94ce8adeb66463c565b1816084843878cebc25d5e008ea 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=IQoJb3JpZ2luX2VjEIb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJGMEQCIGMnWnyCP5BAOPWA23pEI0WYjzMT6jyoFJID1vp3up3jAiAbzxFZn3o4dsfb4GX4AHiBZv29DUmZ9fGSpxz%2FTMd4Vyq5BQhPEAUaDDI3MzU3MDE5NTQzMyIMIgA5lqbmnWr9%2FHYNKpYFK1t8WKTxeOwsLWLTF8vj4n36BjCiJ7iq2RG%2F8PHKMsOnfbHQUNB1%2FsL6eTeaDcHBnb5kWZw4u13pUnNfrrecxsqEyJeCfqeBSxj4lJj%2BKje8KSEWjccvyut3UBAUeBGtE7jZDIfk1n8bNlm1T8heKnF8aVcF1z8Hj4E1nuLxOT4B5N%2Fyx%2FlOJvzhU94Y96XHuk7S9e5d4iyTaMQH4OVOqKHFlyDeR%2F%2FkcI%2BGCA08NkV4yqbAeub3erw49FQzF3hR%2B9B4PXhgybNH4ssw6AHohbwfb11VTH9uZSaPL4lL7WSMqXHJfCrsa82ktSEYj7HH4tJb9B3ZmwpTRnIu2ivZVgpeAbJtxsY57ErRw2lZK6hkPjIEQnzdOVm4yh1tTkEJcUPHa%2FAYsq%2FDZWxELOSBDRsWwuV%2BTRnGfLKStrIWfotU7LuJRhUnQjdtW48IZ2eh90vPu%2FTZdVpBhIrXuU%2FbfnEqM989Pcfx4bf6jSgOZ%2FJP4jgFkJY6QM5bFt0bnTlOD6HZw61OXGfSX2P3oMMbPENbG3qsoB%2FFy1SqZywVjvP8dYfN1iYMKs3EEk61111AQtJnr8hXwLVIRT2xQ1DDiksOBJVZcpYIxj8ak6OB8lsg1f48cJBS6asjfJ%2Fb5sLGY3oR6L4zAC2LgaeLXvzZjZM93FkAUjwhMqE%2FfmUr%2FszTaqrIqxHOXAMNbD38G8CV2Wr4QokW1rE%2FrEnZKBmpZCw8U9Gl3gmIKqNYM1DpyNSPtmZDNwvfnULVD1CX1ePkLpx9q8vGo%2BfPhA4vjPAfFcEhQPIIcBK2HpXv5wODTDmNCUKszwwEsJUVmKRxdpy5vLVDLJrVGT7z4zci2czpFA21Lph3mZ%2BnM477KVKyaE0Gg%2F9sna0w%2FqKjzwY6sgH3XQgDMTvW%2FJnX7K%2BwgNqwW%2BNoYhhGGKImrldcgxPeAnBo2EbGQZlwjiIUT2EFcReQ30lQdy6e0Wd%2BXlgNippgwIB9hO0A0lJN7rs0NcgfypS1qa7m0o2x0TlMIIKWYKCHaKSMdRUDD9Dv0LSmuEStQJPCh39yvX6GMo1q7m1m4nOmrDLqDnokX3MWzUz7VU55TYFbRTeoa2wsvk%2BAAH1L4aWHy2E68FNrQsjygpAkn01E&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47UZUSWMYA3%2F20260422%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260422T144622Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=65ee1beeee44f73baa3dee87fff05cae1e308b1f9fcf93d75ebcec0d0d32ee17 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}]}}