Read All Csv Files Store Values in Array in Folder Python
Read Time: vi mins Languages:
In this post, I'll show you how to utilise PHP's congenital-in functions to read and print the contents of a CSV file and convert it into an array. Nosotros'll use fopen()
and fgetcsv()
to read the contents of a CSV file, and so we'll catechumen it into an array using the array_map()
and str_getcsv()
functions.
Introduction
Storing data files in comma-separated values (CSV) format is no new matter. In fact, information technology's i of the well-nigh common ways of storing information due to its simplicity—CSV files are easy to read and write, and tin exist opened in a basic text editor. This blazon of file stores tabular data in the form of manifestly text.
An case of such a file would await like this:
Elias,40,nurse Rehema,15,programmer Beatrice,23,doctor
This data represents data nearly iii people, with columns respective to their names, age, and job. Although it's a simple data format, it can be tricky to read and consume.
Therefore, in this article, I volition teach you how to open CSV files using PHP's native functions like fopen()
, how to read the contents of this file with the use of the fgetcsv()
method, and lastly how to convert this CSV file into an array using the array_map()
function.
Of form, there are a number of 3rd-party packages we could utilise to achieve this, just PHP has built-in native functions that work great.
Prerequisites
To proceed with this commodity, you'll need the following:
- PHP version 5.6 or above installed on your machine
- a evolution environs for PHP—either XAMPP or WampServer piece of work well
- some basic understanding of PHP concepts
Let's begin!
Displaying a CSV File as a Tabular array
In this section of the article, we will be reading a elementary CSV file that contains a few words separated by the comma delimiter. For a start, nosotros volition employ the elementary file we used above, and and then later we tin proceed to using a random larger file. Of form, you can create your own file using Microsoft Excel or a text editor and save it with the CSV extension.
To read the file, we first take to find information technology in the folder or location it is saved in. For easier access, you may desire to salve it in the aforementioned folder where you have your program file. Then we can apply the fopen()
role to read the file.
Afterward, the fgetcsv()
part checks for CSV fields from a parsed line of the open up file. This function requires three parameters: the file handle returned from fopen()
, the maximum length of the line to be read, and the special separator character—which we refer to as the "delimiter". This can be a comma, a semi-colon, or whatsoever other separator.
Now let'southward get applied.
Create a file named csvtable.php somewhere it can be served with WAMP or XAMPP, and re-create the following code.
<?php $file_to_read = fopen('information.csv', 'r'); if($file_to_read !== Imitation){ echo "<tabular array>\n"; while(($data = fgetcsv($file_to_read, 100, ',')) !== FALSE){ repeat "<tr>"; for($i = 0; $i < count($data); $i++) { repeat "<td>".$information[$i]."</td>"; } echo "</tr>\n"; } echo "</table>\n"; fclose($file_to_read); } ?>
In this file, we're first opening the data.csv file, which should contain some comma-separated data. fopen
volition look for this file in the same folder as csvtable.php. The 'r'
parameter tells fopen
to open the file as read-only.
If the file is opened successfully, fopen
will return a file handle which can be used for other file reading operations. Otherwise, it will render FALSE
. Therefore, nosotros bank check that the file handle is not Simulated
before standing to read the file.
The fgetcsv()
file and so fetches CSV fields from the opened file, one line at a time. We tell fgetcsv
to read at most 100 characters per line, and to use the comma separator equally its delimiter. The words found in the file are then looped through and printed into an HTML table.
The last function is the fclose()
function, which closes the opened file. This releases the retention used by the open file and allows other processes to have access to the file.
Open csvtable .php through the WAMP or XAMPP localhost server, or run php read.php
from the command line to come across the following output:



The first role of what we needed to attain is done already!
Now, we'll leap into converting the raw CSV fields into an array.
Converting the Raw CSV File Into an Array
Now, at that place'southward more than 1 fashion to produce the array. We tin can utilise the fgetcsv()
function to automatically catechumen the contents of the CSV file into an array, or we can employ array_map
.
Using fgetcsv()
to Convert a CSV File Into an Array
This is similar to the example above, where nosotros used fgetcsv()
to render a CSV file as an HTML table. Allow's see this in action. Create a PHP file with the following contents:
<?php function csvToArray($csvFile){ $file_to_read = fopen($csvFile, 'r'); while (!feof($file_to_read) ) { $lines[] = fgetcsv($file_to_read, k, ','); } fclose($file_to_read); return $lines; } //read the csv file into an array $csvFile = 'data.csv'; $csv = csvToArray($csvFile); //render the array with print_r repeat '<pre>'; print_r($csv); repeat '</pre>'; ?>
In the above code, we created a function to read a CSV file and convert it to an assortment. We pass in a parameter with the CSV document file name and path.
And then, we use the feof()
function to cheque whether the cease of file has been reached. Until it has, nosotros need to parse the CSV fields using the fgetcsv()
office, just like we did in the example in a higher place.
The parsed CSV fields from the CSV file are converted into an array using the fgetcsv()
function and are appended one at a time to the $lines[]
variable.
Finally, don't forget to use the fclose()
function to close the opened file before exiting the part.
We and then phone call the readDocument
function, which passes the CSV document equally a parameter, and next, the contents of the CSV file are displayed every bit below:



Using array_map()
to Read a CSV File
Alternatively, you tin utilize the array_map()
function to read a CSV file into an array. To exercise this, you'll use str_getcsv
as a callback function. This is a built-in PHP part that is used to parse a CSV string into an assortment.
A callback role is some executable code that is passed to another piece of code as an argument. This statement is expected to be called dorsum later on past the code it is passed to.
Hither is how nosotros can utilize array_map
and str_getcsv
to map our CSV data into an array:
<?php $csv = array_map('str_getcsv', file('data.csv')); echo '<pre>'; print_r($csv); echo '</pre>'; ?>
The to a higher place lawmaking uses the file()
method to read the CSV file into an array of lines. Then, with array map, it calls str_getcsv()
on each line and stores the data for the entire file in $csv
. The str_getcsv()
function parses the CSV field contents of each line into an array.
The output of the above code snippet will be the aforementioned as above.
Observe how much less code is required when using file()
and the array_map()
function directly?
Determination
In this article, yous learned how to handle a CSV file in PHP by reading and displaying its contents using PHP native functions similar fopen()
and fgetcsv()
and converting the CSV fields into an array. I showed you 2 ways to practice this.
Now, try doing information technology yourself. Happy coding!
Source: https://code.tutsplus.com/articles/read-a-csv-to-array-in-php--cms-39471
0 Response to "Read All Csv Files Store Values in Array in Folder Python"
Postar um comentário