How to Read a File With Comma in Ruby
What is a CSV file?
A CSV file is a simple type of plain text file which uses a specific structure to arrange tabular data. The standard format of a CSV file is defined by rows and columns data where a newline terminates each row to begin the next row, and each column is separated by a comma within the row.
CSV is a common format for data interchange as it is meaty, simple, and full general. Many online services allow their users to export tabular data from the website into a CSV file. Files of CSV will open into Excel, and nearly all databases have a tool to let import from CSV files.
In this tutorial, y'all volition larn:
- What is a CSV file?
- CSV Sample File
- Python CSV Module
- CSV Module Functions
- How to Read a CSV File in Python
- How to read a CSV file into a Dictionary in Python
- How to write CSV File in Python
- Read CSV File using Pandas
- Write CSV File using Pandas
CSV Sample File
Data in the form of tables is as well called CSV (comma separated values) – literally "comma-separated values." This is a text format intended for the presentation of tabular data. Each line of the file is 1 line of the table. The values of individual columns are separated by a separator symbol – a comma (,), a semicolon (;) or another symbol. CSV tin be easily read and processed by Python.
Consider the following Table
Tabular array Data
Programming language | Designed by | Appeared | Extension |
---|---|---|---|
Python | Guido van Rossum | 1991 | .py |
Java | James Gosling | 1995 | .java |
C++ | Bjarne Stroustrup | 1983 | .cpp |
Y'all can represent this tabular array in csv as below.
CSV Data
Programming language, Designed by, Appeared, Extension
Python, Guido van Rossum, 1991, .py
Coffee, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp
As you can meet each row is a new line, and each column is separated with a comma. This is an instance of how a CSV file looks similar.
Download CSV Data
Python CSV Module
Python provides a CSV module to handle CSV files. To read/write data, you need to loop through rows of the CSV. You need to utilise the divide method to become data from specified columns.
CSV Module Functions
In CSV module documentation yous tin can find post-obit functions:
- csv.field_size_limit – return maximum field size
- csv.get_dialect – go the dialect which is associated with the name
- csv.list_dialects – show all registered dialects
- csv.reader – read data from a csv file
- csv.register_dialect – associate dialect with name
- csv.author – write data to a csv file
- csv.unregister_dialect – delete the dialect associated with the proper noun the dialect registry
- csv.QUOTE_ALL – Quote everything, regardless of type.
- csv.QUOTE_MINIMAL – Quote fields with special characters
- csv.QUOTE_NONNUMERIC – Quote all fields that aren't numbers value
- csv.QUOTE_NONE – Don't quote annihilation in output
In this tutorial, we are going to focus only on the reader and writer functions which allow yous to edit, modify, and dispense the data in a CSV file.
How to Read a CSV File in Python
Below are steps to read CSV file in Python.
Stride one) To read data from CSV files, you must use the reader role to generate a reader object.
The reader role is adult to take each row of the file and make a listing of all columns. Then, you take to choose the column you want the variable information for.
It sounds a lot more intricate than it is. Let's take a await at this Python code to read CSV file, and we will find out that working with csv file isn't so hard.
#import necessary modules import csv with open('X:\information.csv','rt')as f: data = csv.reader(f) for row in information: print(row)
Step ii) When y'all execute the program to a higher place, the output will be:
['Programming language; Designed by; Appeared; Extension'] ['Python; Guido van Rossum; 1991; .py'] ['Coffee; James Gosling; 1995; .java'] ['C++; Bjarne Stroustrup;1983;.cpp']
How to read a CSV file into a Dictionary in Python
Y'all tin can as well you use DictReader to read CSV files. The results are interpreted as a dictionary where the header row is the key, and other rows are values.
Consider the following lawmaking
#import necessary modules import csv reader = csv.DictReader(open("file2.csv")) for raw in reader: print(raw)
The result of this code is:
OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')]) OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')]) OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])
And this way to read data from CSV file is much easier than earlier method. Yet, this is non isn't the best fashion to read data.
How to write CSV File in Python
Here is how to write a CSV file in Python:
When you have a set up of data that yous would like to store in a CSV file yous have to use writer() role. To iterate the information over the rows(lines), you take to utilize the writerow() function.
Consider the following example. Nosotros write data into a file "writeData.csv" where the delimiter is an apostrophe.
#import necessary modules import csv with open('X:\writeData.csv', manner='w') equally file: writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) #way to write to csv file author.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension']) writer.writerow(['Python', 'Guido van Rossum', '1991', '.py']) writer.writerow(['Java', 'James Gosling', '1995', '.coffee']) writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])
Result in csv file is:
Programming language, Designed by, Appeared, Extension Python, Guido van Rossum, 1991, .py Java, James Gosling, 1995, .coffee C++, Bjarne Stroustrup,1983,.cpp
Read CSV File using Pandas
Pandas is an opensource library that allows to you import CSV in Python and perform data manipulation. Pandas provide an easy manner to create, manipulate and delete the data.
Yous must install pandas library with command <lawmaking>pip install pandas</code>. In Windows, you will execute this control in Control Prompt while in Linux in the Terminal.
Reading the CSV into a pandas DataFrame is very quick and easy:
#import necessary modules import pandas result = pandas.read_csv('10:\information.csv') print(result)
Result of the read CSV Pandas example:
Programming linguistic communication, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py 1 Java, James Gosling, 1995, .java 2 C++, Bjarne Stroustrup,1983,.cpp
Very useful library. In just three lines of code you lot the same result every bit before. Pandas know that the get-go line of the CSV contained cavalcade names, and it volition use them automatically.
Write CSV File using Pandas
Writing to CSV file with Pandas is equally piece of cake as reading. Hither you can convince in it. First you lot must create DataFrame based on the following Python write to CSV code.
from pandas import DataFrame C = {'Programming linguistic communication': ['Python','Coffee', 'C++'], 'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'], 'Appeared': ['1991', '1995', '1985'], 'Extension': ['.py', '.java', '.cpp'], } df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension']) export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored print (df)
Hither is the output
Programming language, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py 1 Java, James Gosling, 1995, .java 2 C++, Bjarne Stroustrup,1983,.cpp
And CSV file is created at the specified location.
Determination
And then, at present you know how use method 'csv' and likewise read and write data in CSV format. CSV files are widely used in software applications because they are easy to read and manage, and their pocket-sized size makes them relatively fast for processing and transmission.
The csv module provides various functions and classes which allow you lot to read and write easily. Yous can wait at the official Python documentation and find some more interesting tips and modules. CSV is the best style for saving, viewing, and sending data. Actually, it isn't so hard to learn as information technology seems at the beginning. But with a little practice, you lot'll chief information technology.
Pandas is a great alternative to read CSV files.
Besides, there are other ways to parse text files with libraries like ANTLR, PLY, and PlyPlus. They can all handle heavy-duty parsing, and if simple String manipulation doesn't piece of work, there are regular expressions which you tin use.
Source: https://www.guru99.com/python-csv.html
0 Response to "How to Read a File With Comma in Ruby"
Post a Comment