{"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 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=IQoJb3JpZ2luX2VjEEoaCWV1LXdlc3QtMSJHMEUCIB9eGO2V0nD5SGYxVd1dncsOrxIS802m%2F0BXVoVaGhxiAiEAzRmiPWh6VaxbSKw8%2BpJY7q2XFto0A0CG1RwlIa%2BmPE4quQUIExAFGgwyNzM1NzAxOTU0MzMiDPSU8TteiUqTmQ4zqCqWBeSaih38x%2BY9JFmFARZZON9kp3tPAGW4y3k7IrXWotcz2A7HZOO4u4H2VHEgOca3B02zNTRLg%2FVcpihNIJ%2FB00BRf%2F915zbdcDkn6Foz5ZVEM0SgLs%2F8RdGSqN7u3E9urlfuXbKa68mgwmtlkkmwEYzV%2FFYXq%2BuVdXEe3NwzwVYi%2FIGZZq6vKwykarzvz3Ll1%2FjxXs9EakoI6eqlXium31hbIIJjCETX0LKDDxRBR1PpRdloQWy3heEx4%2BsuJiMhKRejspd78KJGOpgdd7EyoKpJ4MHoJ7FK4hr4VUYdJftK%2F4WE8A%2Bk5RJMBJhHPduh5v5CH0ojvpAwj%2F6YlxewftlAyLA0Y6bTypxFzTvRgb2PgSQYtkEYvmh4tRnRJAh6xWjmxMt1ZC2o2nd4Rq6qjbhStHfiG%2BDiTfTyAWP3nz8qjzXHbrQDbfq5a%2BhSioxAs4mXiBbsqehHqKk%2FtpY0LRsRBruDxDOZryAb8jzVKnkIxD4CFdfX0toDcg2a0Xqa%2BB1q%2FZS8QbVxRgOB%2B66s3hJBKduKEUugPd%2BtB3PbKHDsvubggs0XmxwCN6x9atolLKPbkdnHA5ytaXzUOMMMo%2FSbRuT%2B3hUO8ZNUCDt4IzRNyQ6PqmSGHIjh12FokrkH9Wa%2FqeOQPJlr9JIjrJxQMqbnQXIqUMGdkjgf%2FbnWidxMoAcDLA4lOuyt6J8tXYO9956f8NRXjmgdW%2BfAkuX%2F%2Fc2Sa9a%2BnULbGrmqfY8OmgeZkiFFXdq2xDsFU7mayEAaFqO0YgkqIytiaESqWNBuP%2Bqyaq%2FYooNH%2BdSLM3LYax%2F3TU9BNO9sksuSoRPVJPQlIonuugqw2JpXcxgXMFPo4SwGYzBiJu4zf7cP3GOI3Tpuhj%2BR272qMPL%2F19IGOrEBDm2MtivnyHbnqMsodABDTtSFPInvPPloAKPQe3MkjttFZ61PRY0hSbY3KirmMJL6WlyoCKqLj8f%2BoIjkZ39STP2VhvjpQJ0k1TG0qfSel4EkU1zhTy2qTqr5xUPQtKfHlYwX6WUNdPu2l49U2ZyV%2BzmwWWuv911jqDuoB6dzxuyEZzQOc5wdLTxXaeIsk61FQW2kw9aQYpqxbOgqITv4h5kw0iPaQr9lZmd75G3vjo6z&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47U67DI6HZ2%2F20260714%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260714T100409Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=794ec660fb2651c97328889c9c8365cf9071b9fd9457dacc8aa8a2becdcbb6ea\" 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=IQoJb3JpZ2luX2VjEEoaCWV1LXdlc3QtMSJHMEUCIB9eGO2V0nD5SGYxVd1dncsOrxIS802m%2F0BXVoVaGhxiAiEAzRmiPWh6VaxbSKw8%2BpJY7q2XFto0A0CG1RwlIa%2BmPE4quQUIExAFGgwyNzM1NzAxOTU0MzMiDPSU8TteiUqTmQ4zqCqWBeSaih38x%2BY9JFmFARZZON9kp3tPAGW4y3k7IrXWotcz2A7HZOO4u4H2VHEgOca3B02zNTRLg%2FVcpihNIJ%2FB00BRf%2F915zbdcDkn6Foz5ZVEM0SgLs%2F8RdGSqN7u3E9urlfuXbKa68mgwmtlkkmwEYzV%2FFYXq%2BuVdXEe3NwzwVYi%2FIGZZq6vKwykarzvz3Ll1%2FjxXs9EakoI6eqlXium31hbIIJjCETX0LKDDxRBR1PpRdloQWy3heEx4%2BsuJiMhKRejspd78KJGOpgdd7EyoKpJ4MHoJ7FK4hr4VUYdJftK%2F4WE8A%2Bk5RJMBJhHPduh5v5CH0ojvpAwj%2F6YlxewftlAyLA0Y6bTypxFzTvRgb2PgSQYtkEYvmh4tRnRJAh6xWjmxMt1ZC2o2nd4Rq6qjbhStHfiG%2BDiTfTyAWP3nz8qjzXHbrQDbfq5a%2BhSioxAs4mXiBbsqehHqKk%2FtpY0LRsRBruDxDOZryAb8jzVKnkIxD4CFdfX0toDcg2a0Xqa%2BB1q%2FZS8QbVxRgOB%2B66s3hJBKduKEUugPd%2BtB3PbKHDsvubggs0XmxwCN6x9atolLKPbkdnHA5ytaXzUOMMMo%2FSbRuT%2B3hUO8ZNUCDt4IzRNyQ6PqmSGHIjh12FokrkH9Wa%2FqeOQPJlr9JIjrJxQMqbnQXIqUMGdkjgf%2FbnWidxMoAcDLA4lOuyt6J8tXYO9956f8NRXjmgdW%2BfAkuX%2F%2Fc2Sa9a%2BnULbGrmqfY8OmgeZkiFFXdq2xDsFU7mayEAaFqO0YgkqIytiaESqWNBuP%2Bqyaq%2FYooNH%2BdSLM3LYax%2F3TU9BNO9sksuSoRPVJPQlIonuugqw2JpXcxgXMFPo4SwGYzBiJu4zf7cP3GOI3Tpuhj%2BR272qMPL%2F19IGOrEBDm2MtivnyHbnqMsodABDTtSFPInvPPloAKPQe3MkjttFZ61PRY0hSbY3KirmMJL6WlyoCKqLj8f%2BoIjkZ39STP2VhvjpQJ0k1TG0qfSel4EkU1zhTy2qTqr5xUPQtKfHlYwX6WUNdPu2l49U2ZyV%2BzmwWWuv911jqDuoB6dzxuyEZzQOc5wdLTxXaeIsk61FQW2kw9aQYpqxbOgqITv4h5kw0iPaQr9lZmd75G3vjo6z&#038;X-Amz-Algorithm=AWS4-HMAC-SHA256&#038;X-Amz-Credential=ASIAT7MQN47U67DI6HZ2%2F20260714%2Feu-west-1%2Fs3%2Faws4_request&#038;X-Amz-Date=20260714T100409Z&#038;X-Amz-SignedHeaders=host&#038;X-Amz-Expires=900&#038;X-Amz-Signature=cac1a076a0ba66ff0a9c134a76301be4f24cf5a36ced074f1695c4f5d223dbb3\" 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=IQoJb3JpZ2luX2VjEEoaCWV1LXdlc3QtMSJHMEUCIB9eGO2V0nD5SGYxVd1dncsOrxIS802m%2F0BXVoVaGhxiAiEAzRmiPWh6VaxbSKw8%2BpJY7q2XFto0A0CG1RwlIa%2BmPE4quQUIExAFGgwyNzM1NzAxOTU0MzMiDPSU8TteiUqTmQ4zqCqWBeSaih38x%2BY9JFmFARZZON9kp3tPAGW4y3k7IrXWotcz2A7HZOO4u4H2VHEgOca3B02zNTRLg%2FVcpihNIJ%2FB00BRf%2F915zbdcDkn6Foz5ZVEM0SgLs%2F8RdGSqN7u3E9urlfuXbKa68mgwmtlkkmwEYzV%2FFYXq%2BuVdXEe3NwzwVYi%2FIGZZq6vKwykarzvz3Ll1%2FjxXs9EakoI6eqlXium31hbIIJjCETX0LKDDxRBR1PpRdloQWy3heEx4%2BsuJiMhKRejspd78KJGOpgdd7EyoKpJ4MHoJ7FK4hr4VUYdJftK%2F4WE8A%2Bk5RJMBJhHPduh5v5CH0ojvpAwj%2F6YlxewftlAyLA0Y6bTypxFzTvRgb2PgSQYtkEYvmh4tRnRJAh6xWjmxMt1ZC2o2nd4Rq6qjbhStHfiG%2BDiTfTyAWP3nz8qjzXHbrQDbfq5a%2BhSioxAs4mXiBbsqehHqKk%2FtpY0LRsRBruDxDOZryAb8jzVKnkIxD4CFdfX0toDcg2a0Xqa%2BB1q%2FZS8QbVxRgOB%2B66s3hJBKduKEUugPd%2BtB3PbKHDsvubggs0XmxwCN6x9atolLKPbkdnHA5ytaXzUOMMMo%2FSbRuT%2B3hUO8ZNUCDt4IzRNyQ6PqmSGHIjh12FokrkH9Wa%2FqeOQPJlr9JIjrJxQMqbnQXIqUMGdkjgf%2FbnWidxMoAcDLA4lOuyt6J8tXYO9956f8NRXjmgdW%2BfAkuX%2F%2Fc2Sa9a%2BnULbGrmqfY8OmgeZkiFFXdq2xDsFU7mayEAaFqO0YgkqIytiaESqWNBuP%2Bqyaq%2FYooNH%2BdSLM3LYax%2F3TU9BNO9sksuSoRPVJPQlIonuugqw2JpXcxgXMFPo4SwGYzBiJu4zf7cP3GOI3Tpuhj%2BR272qMPL%2F19IGOrEBDm2MtivnyHbnqMsodABDTtSFPInvPPloAKPQe3MkjttFZ61PRY0hSbY3KirmMJL6WlyoCKqLj8f%2BoIjkZ39STP2VhvjpQJ0k1TG0qfSel4EkU1zhTy2qTqr5xUPQtKfHlYwX6WUNdPu2l49U2ZyV%2BzmwWWuv911jqDuoB6dzxuyEZzQOc5wdLTxXaeIsk61FQW2kw9aQYpqxbOgqITv4h5kw0iPaQr9lZmd75G3vjo6z&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47U67DI6HZ2%2F20260714%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260714T100409Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=cac1a076a0ba66ff0a9c134a76301be4f24cf5a36ced074f1695c4f5d223dbb3 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=IQoJb3JpZ2luX2VjEEoaCWV1LXdlc3QtMSJHMEUCIB9eGO2V0nD5SGYxVd1dncsOrxIS802m%2F0BXVoVaGhxiAiEAzRmiPWh6VaxbSKw8%2BpJY7q2XFto0A0CG1RwlIa%2BmPE4quQUIExAFGgwyNzM1NzAxOTU0MzMiDPSU8TteiUqTmQ4zqCqWBeSaih38x%2BY9JFmFARZZON9kp3tPAGW4y3k7IrXWotcz2A7HZOO4u4H2VHEgOca3B02zNTRLg%2FVcpihNIJ%2FB00BRf%2F915zbdcDkn6Foz5ZVEM0SgLs%2F8RdGSqN7u3E9urlfuXbKa68mgwmtlkkmwEYzV%2FFYXq%2BuVdXEe3NwzwVYi%2FIGZZq6vKwykarzvz3Ll1%2FjxXs9EakoI6eqlXium31hbIIJjCETX0LKDDxRBR1PpRdloQWy3heEx4%2BsuJiMhKRejspd78KJGOpgdd7EyoKpJ4MHoJ7FK4hr4VUYdJftK%2F4WE8A%2Bk5RJMBJhHPduh5v5CH0ojvpAwj%2F6YlxewftlAyLA0Y6bTypxFzTvRgb2PgSQYtkEYvmh4tRnRJAh6xWjmxMt1ZC2o2nd4Rq6qjbhStHfiG%2BDiTfTyAWP3nz8qjzXHbrQDbfq5a%2BhSioxAs4mXiBbsqehHqKk%2FtpY0LRsRBruDxDOZryAb8jzVKnkIxD4CFdfX0toDcg2a0Xqa%2BB1q%2FZS8QbVxRgOB%2B66s3hJBKduKEUugPd%2BtB3PbKHDsvubggs0XmxwCN6x9atolLKPbkdnHA5ytaXzUOMMMo%2FSbRuT%2B3hUO8ZNUCDt4IzRNyQ6PqmSGHIjh12FokrkH9Wa%2FqeOQPJlr9JIjrJxQMqbnQXIqUMGdkjgf%2FbnWidxMoAcDLA4lOuyt6J8tXYO9956f8NRXjmgdW%2BfAkuX%2F%2Fc2Sa9a%2BnULbGrmqfY8OmgeZkiFFXdq2xDsFU7mayEAaFqO0YgkqIytiaESqWNBuP%2Bqyaq%2FYooNH%2BdSLM3LYax%2F3TU9BNO9sksuSoRPVJPQlIonuugqw2JpXcxgXMFPo4SwGYzBiJu4zf7cP3GOI3Tpuhj%2BR272qMPL%2F19IGOrEBDm2MtivnyHbnqMsodABDTtSFPInvPPloAKPQe3MkjttFZ61PRY0hSbY3KirmMJL6WlyoCKqLj8f%2BoIjkZ39STP2VhvjpQJ0k1TG0qfSel4EkU1zhTy2qTqr5xUPQtKfHlYwX6WUNdPu2l49U2ZyV%2BzmwWWuv911jqDuoB6dzxuyEZzQOc5wdLTxXaeIsk61FQW2kw9aQYpqxbOgqITv4h5kw0iPaQr9lZmd75G3vjo6z&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=ASIAT7MQN47U67DI6HZ2%2F20260714%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20260714T100409Z&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Expires=900&amp;X-Amz-Signature=794ec660fb2651c97328889c9c8365cf9071b9fd9457dacc8aa8a2becdcbb6ea 300w, https:\/\/blogs.glowscotland.org.uk\/nl\/public\/ColtnessHS-ComputingScience\/uploads\/sites\/12638\/2016\/02\/Python-logo-notext.svg_.png 1024w\" sizes=\"(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}]}}