EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login
Home Software Development Software Development Tutorials File Handling Python Tutorial Python Read CSV File
Secondary Sidebar
Python Tutorial
  • File Handling Python Tutorial
    • Python File Methods
    • Python Copy File
    • Python Check if File Exists
    • Python Import CSV
    • File Handling in Python
    • Python Read CSV File
    • Python write CSV file
    • Python Delete File
    • Python File readline
    • Python if main
    • Python Main Method
    • List Method in Python
    • Python List Functions
    • Python List Comprehension
    • Python List Length
    • Python List count
    • Python Lists Methods
    • Python Add List
    • Python List extend
    • Python Doubly Linked List
    • Copy List in Python
    • Python list remove()
    • Python List Index
  • Basics Part I
    • Introduction To Python
    • What Is Python
    • Print Statement in Python
    • Careers in Python
    • Advantages of Python
    • Uses of Python
    • Python SQL Server
    • Python SQL Database
    • Python SQL Server Connection
    • Python SQL Injection
    • Python Features
    • Heap Data Structure Python
    • Python Fast And python psyco
    • Python ImportError
    • Python Recursion
    • Python Reduce
    • Local Variable in Python
    • Sparse Matrix in Python
    • Benefits and Limitations of Using Python
    • What can I do with?Python
    • Is Python a scripting language
    • clock() in Python
    • Is Python Object Oriented
    • Is Python Open Source
    • Python Socket Programming
    • Python HTTP Server
    • Useful Tips on Python Programming
    • Python You Should Be Using It
    • Python Web Development
    • Exclusive Things About Python Socket Programming (Basics)
    • Python Programming Beginners Tutorails
    • Practical Python Programming for Non-Engineers
    • Python Programming for the Absolute Beginner
    • Data Engineer with Python
    • Versions of? Python
  • Programming in Python
    • Comments in Python
    • sprintf Python
    • Finally in Python
    • Python Multiline Comment
    • Python Data Types
    • Python Variables
    • Python Variable Types
    • Python Global Variable
    • Python Variable Scope
    • Python Private Variables
    • Python Default Arguments
    • Python Defaultdict
    • Python Command-line Arguments
    • Python try except
    • Coroutines python
    • Indentation in Python
    • Object in Python
    • Weka Python
    • Counting Sort Python
    • Hash table in Python
    • Radix Sort in Python
    • Hierarchical Cluster Python
    • Dataset in Python
    • Flask in Python
    • Python Keywords
    • Python Literals
    • Pointers in Python
    • Iterators in Python
    • Python Declare Variable
    • Python Modules
    • Python Private Method
    • Python dateutil
    • Python float to int
    • Python not equal
    • Python libraries list
    • Random forest in python
    • Data Manipulation with Python
    • Text to Speech in Python
    • Python Throw Exception
    • Python strftime
    • Python Widgets
    • Mean Shift Clustering Python
    • Sublime Text Shortcuts
    • Python User Input
    • Python Enumerate
    • Python Commands
    • Type Casting in Python
    • Python UUID
    • Abstraction in Python
    • Python Identifiers
    • Python Constants
    • What is NumPy in Python?
    • Cheat Sheet Python
  • Frameworks
    • Python Frameworks
    • Python Compilers
    • Python Editors
    • Best Compiler for Python
    • Python IDE for Windows
    • Python IDE on Linux
    • Python pseudocode
    • Iterator in Python
  • Installation
    • How To Install Python
    • Install Python on Linux
    • Install Python on Windows
    • Install Anaconda Python
  • Operator
    • Python Operators
    • Operator Precedence in Python
    • Arithmetic Operators in Python
    • Python Comparison Operators
    • Logical Operators in Python
    • Assignment Operators in Python
    • Unary Operators in Python
    • Python Ternary Operator
    • String Operators in Python
    • Python Int to String
    • Python String to Float
    • Python? string manipulation
    • Boolean Operators in Python
    • Identity Operators in Python
    • Python Bitwise Operator
    • Python Remainder Operator
    • Python object type
    • Python object serialization
    • Flask unit testing
    • Unit Testing in Python
    • Knapsack Problem Python
    • exec Python
    • Python Modulus Operator
  • Control Statement
    • Conditional Statements in Python
    • Control Statements in Python
    • If Condition in Python
    • If Else in Python
    • If Statement in Python
    • If Else Statement in Python
    • else if Statement in Python
    • Nested IF Statement in Python
    • Break Statement in Python
    • Python Switch Statement
    • Python Break Statement
  • Loops
    • Loops in Python
    • For Loop in Python
    • While Loop in Python
    • Do While Loop in Python
    • Python Nested Loops
    • Python Infinite Loop
    • Python?Event Loop
  • Sorting
    • Sorting in Python
    • Sorting Algorithms in Python
    • Bubble Sort in Python
    • Merge Sort in Python
    • Heap Sort in Python
    • Quick Sort in Python
    • Python Sorted Function
    • Sort string in Python
    • Insertion sort in Python
    • Shell sort in Python
    • Bucket Sort Python
    • Python Input String
    • Python String Operations
    • Python String Join
    • Python String Contains
    • Byte to String Python
    • Python Stream
    • Python List to String
    • Python String Replace
    • Python Compare Strings
    • Lowercase in Python
    • Python Split String
    • Python Multiline String
    • Python Find String
    • Python Trim String
    • Python Test Empty String
    • Python Slice String
    • Python Regex
    • Python Regex Tester
    • Python regex replace
  • Function
    • Python Built-in Functions
    • Recursive Function in Python
    • Python Range Function
    • Python Substring
    • Math Functions in Python
    • Python @property decorator
    • Python String Functions
    • Python User Defined Functions
    • Trigonometric Functions in Python
    • Python Input Function
    • Python Set Function
    • Python len Function
    • Python eval()
    • Python rstrip()
    • Pandas DataFrame.apply()
    • Python Counter
    • ord Function in Python
    • strip Function in Python
    • Split Function in Python
    • Python Round Function
    • Python Map Function
    • Python format() Function
    • Python Contextlib
    • Python Return Value
    • Filter in Python
    • Python Absolute Value
    • Python Type Function
    • Python xrange
    • Python yield
    • Max Function in Python
    • Python Power Function
    • pop() in Python
    • Python argparse
    • Python Pickle
    • Python Zip Function
    • Python Z Test
    • super() in Python
    • Python Extend
    • Python @staticmethod
    • Python Timezone
    • Timestamp to Date in Python
    • Python Timeit
    • Timsort Python
    • Python Property()
    • Python deepcopy
    • Python Dump
    • Python wait()
    • Statistical Analysis in Python
    • Python PEP8
    • Python Filter Function
    • Python if then else
    • Lambda in Python
    • Python BeautifulSoup
    • BeautifulSoup XPath
    • Beautifulsoup lxml
    • BeautifulSoup Install
    • Python Sleep
    • Python Function Generator
    • Python @classmethod decorator
    • Python Endswith
    • Python BufferedReader
    • Python Async
    • Python Parser
    • Python SystemExit
    • Python pip
    • Python kwargs
  • Array
    • Arrays in Python
    • Python string to array
    • 2D Arrays In Python
    • 3d Arrays in Python
    • Multidimensional Array in Python
    • Python Array Functions
    • String Array in Python
    • Python Sort Array
    • Python Array Length
  • OOPS Concept
    • Inheritance in? Python
    • Single Inheritance in Python
    • Overriding in Python
    • Function Overloading in Python
    • Method Overriding in Python
    • Encapsulation in Python
    • Polymorphism in Python
    • Static Method in Python
    • Method Overloading in Python
    • Operator Overloading in Python
    • Constructor in Python
    • Destructor in Python
    • Python Overloading
    • Multiple Inheritance in Python
    • Multilevel Inheritance in Python
    • Interface in Python
  • Programs
    • Patterns in Python
    • Star Patterns in Python
    • Swapping in Python
    • Factorial in Python
    • Fibonacci Series in Python
    • Reverse Number in Python
    • Binary number in Python
    • Palindrome in Python
    • Random Number Generator in Python
    • Prime Numbers in Python
    • Armstrong Number in Python
    • Perfect Number in Python
    • Strong Number in Python
    • Leap Year Program in Python
    • Anagram Program in Python
    • Square Root in Python
    • Python Reverse String
    • Python Object to String
    • Python string append
    • Python Raw String
    • Python Object to JSON
    • Python Classmethod vs Staticmethod
  • Exception
    • Python Exception Handling
    • Custom Exception in Python
    • Indentation Error in Python
    • Python Memory Error
    • Python User Defined Exception
    • Python IOError
    • Python EOFError
    • Python NotImplementedError
    • Python TypeError
    • Python ValueError
    • Python AssertionError
    • Python Unicode Error
    • Python NameError
    • Python StopIteration
    • Python OverflowError
    • Python KeyboardInterrupt
  • PySpark
    • PySpark Read CSV
    • PySpark lit()
    • PySpark Pipeline
    • PySpark Join on Multiple Columns
    • PySpark GitHub
    • PySpark to Pandas
  • NLTK
    • What is NLTK
    • NLTK Stop Words
    • NLTK Tokenize
    • NLTK Remove Punctuation
    • NLTK Sentiment Analysis
    • NLTK POS Tag
    • NLTK Lemmatizer
    • NLTK Corpus
    • NLTK Stemming
    • NLTK word_tokenize
    • NLTK WordNet
  • SpaCy
    • SpaCy ner
    • spaCy Matcher
    • spaCy Text Classification
    • spaCy Dependency Parser
    • SpaCy Tokenizer
    • SpaCy NLP
    • SpaCy models
  • Advanced
    • Python Pillow
    • Merge Dictionaries in Python
    • Dictionary Python Remove
    • Python Data Analysis Example
    • Scope in Python
    • Python Itertools
    • Python Join List
    • Python Pillow Install
    • Python Projects in GitHub
    • Python Projects with Database
    • OrderedDict in Python
    • Python Collections
    • statsmodels Python
    • Python NOT Operator
    • classmethod in Python
    • Assert in Python
    • Python References
    • Python Virtualenv
    • Python mkdir
    • Logistic Regression in Python
    • Dictionary in Python
    • Sort Dictionary in Python
    • Nested Dictionary Python
    • List of Dictionary in Python
    • Python Directories
    • Regular Expression in Python
    • Python Import Module
    • Python OS Module
    • Python Sys Module
    • Python Generators
    • Abstract Class in Python
    • Python File Operations
    • Sequences in Python
    • Stack in Python
    • Queue in Python
    • Deque in Python
    • Tuples in Python
    • Python Magic Method
    • Python Sets
    • Python Set Methods
    • Priority Queues in Python
    • Python Create Directory
    • Reverse Engineering with Python
    • Underscore in Python
    • Serverless Python
    • String Formatting in Python
    • f String in Python
    • Python isinstance
    • String Length Python
    • Python Concurrency
    • Python List
    • Python Initialize List
    • Python Unique List
    • Python Sort List
    • Selection Sort in Python
    • Python Reverse List
    • Python Empty List
    • List Comprehensions Python
    • List Operations in Python
    • Python Repository
    • Python Database Connection
    • Python SQLite
    • Data Analysis with Python
    • Python Language
    • Object Oriented Programming in Python
    • Python is Open Source Language
    • Python SQL
    • Python SQL Library
    • Python SQLite Create Database
    • Send Mail in Python
    • Bash Scripting and Python
    • Violent Python Book
    • NLP in Python
    • Matplotlib In Python
    • Gray Hat Python: Security
    • Python Subprocess
    • Python bokeh
    • Python pillow resize image
    • Python xlrd
    • Python Projects
    • Python Threading Timer
    • Python Threadpool
    • Python Statistics Module
    • How to Call a Function in Python?
    • Python Curl
    • JSON in Python
    • Python JSON to string
    • Python json.dumps
    • Python Turtle
    • Python testing framework
    • Python Unit Test
    • pass Keyword in Python
    • Tokenization in Python
    • Random Module in Python
    • Python Multiprocessing
    • Python getattr
    • Collection Module in Python
    • Python Countdown Timer
    • Python Context Manager
    • Python Event Handler
    • Python Print Table
    • Python Docstring
    • Python Dictionary Keys
    • Python Iterator Dictionary
    • Python Class Attributes
    • Python Dictionary Methods
    • Namedtuple Python
    • OpenCV Python
    • OpenCV erode
    • OpenCV save image
    • Traceback in Python
    • Decorator in Python
    • Python Pygame
    • Python Class Constants
    • Python Validation
    • Python Switch Case
    • Linked List in Python
    • DFS Algorithm in Python
    • Priority queue algorithm
    • Tree Traversal Python
    • AVL Tree Python
    • Binary Search Tree Python
    • Binary tree in Python
    • Binary search in Python
    • BFS Algorithm Python
    • Python Rest Server
    • Python Yield vs Return
    • Python Pickle vs JSON
    • Python Read Excel File
  • BeautifulSoup
    • BeautifulSoup Find
    • BeautifulSoup find by class
    • BeautifulSoup Web Scraping
    • BeautifulSoup get text
    • BeautifulSoup Table
    • BeautifulSoup Requests
  • Interview Question
    • Python Interview Questions And Answers

Related Courses

Python Certification Course

Programming Languages Courses

Angular JS Certification Training

Python Read CSV File

By Priya PedamkarPriya Pedamkar

python reead csv file

Introduction to Python Read CSV File

In this article, we will learn about Python Read CSV File. CSV Module is a built-in module in Python. In order to use it, one needs to just import it in the python environment. Like:

import csv

As the “csv” module is part of the standard library, so one needs not to install. Here csv stands for Comma Separated Values format files (which a tabular form of storing data, easy to read and understand by a human).

A csv file looks like this:

All in One Software Development Bundle(600+ Courses, 50+ projects)
Python TutorialC SharpJavaJavaScript
C Plus PlusSoftware TestingSQLKali Linux
Price
View Courses
600+ Online Courses | 50+ projects | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (86,697 ratings)

Sr_No, Emp_Name, Emp_City
1, Obama, England
2, Jackson, California

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

One can notice, commas separate elements in the csv file. There are many functions of the csv module, which helps in reading, writing and with many other functionalities to deal with csv files.

Examples to Implement Python Read CSV File

Let’s explore more about csv through some examples:

Read the CSV File

Example #1

One needs to set the directory where the csv file is kept.

Code:

import os
os.chdir("My Folder/Personnel/EDUCBA/Jan")

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file)
    for each_row in reader:
        print(each_row)

Output:

CSV File

Explanation of the above code: As one can see, “open(‘Emp_Info.csv’)” is opened as the file.”csv.reader()” is used to read the file, which returns an iterable reader object. Here csv.reader() is used to read csv file, however the functionality is customizable.

Example #2

Like, if the file is a semi-colon separated file.

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file,delimiter  = ';')
    for each_row in reader:
        print(each_row)

Once the reader object is ready, it is looped around to print the content line by line. Delimiter helps to specify the separator of a file.

Try-Finally in csv.reader()

Code:

import csv
file = open('Emp_Info.csv', 'r')
try:    
    reader = csv.reader(file)
    for each_row in reader:
        print(each_row)
finally:
    file.close()

Output:

python read csv file - 3

Example #3

Now let’s say we have a csv file that looks like this:

python read csv file - 4

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file)
    for each_row in reader:
        print(each_row)

Output:

csv.reader()

  • As one can notice, commas present in “EMP_Address” will make it split into different columns.
  • In order to overcome this issue, we can use one parameter inside the csv.reader, i.e. quote char.

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file,quotechar="'")
    for each_row in reader:
        print(each_row)

Output:

python read csv file - 6

This quote char helps in the surrounding values of the file with special values/characters. Like here, we quoted all values of the cell with a single inverted comma.

Example #4

Now let say our file looks like this:

python read csv file - 7

One can notice the “whitespaces” before the 2nd and 3rd columns. When this will be read through our code:

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file)
    for each_row in reader:
        print(each_row)

Output:

python read csv file - 8

  • This kind of result is not expected, and hence we want to skip those whitespaces.
  • Hence,the parameter “skipinitialspace” needs to be utilized in csv.reader():

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file,skipinitialspace=True)
    for each_row in reader:
        print(each_row)

Output:

python read csv file - 9

Example #5

Now say we have double quotes in our cells.

double quotes

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    #reader = csv.reader(file,quoting=csv.QUOTE_NONE)
    reader = csv.reader(file,doublequote=True)
    for each_row in reader:
        print(each_row)

Output:

double quotes

  • Here, the consecutive double quote will be converted to a single quote when doublequote = True.
  • Hence make doublequote = False.

Code:

import csv
with open('Emp_Info.csv', 'r') as file:
    reader = csv.reader(file,doublequote=False)
    for each_row in reader:
        print(each_row)

Output:

False.

Here, consecutive double quotes will be displayed as it is.

Reading CSV File using csv.DictReader()

Code:

import csv
with open("Emp_Info.csv", 'r') as file:
    csv_reader = csv.DictReader(file)
    for each_row in csv_reader:
        print(dict(each_row))

Output:

using csv.DictReader()

  • Here csv_reader is csv.DictReader() object. Here csv.DictReader() helps reading the csv file in the form of a dictionary, where the first row of the file becomes “keys” and the rest of all rows become “values”.
  • The first row had “Sr_No”,” Emp_Name”, and “Emp_City”, so these became keys, whereas the rest rows become their value.
  • Csv.DictReader() in itself returns a dictionary of each row, that when doing dict() explicitly as per your requirement is futile.
Note: One important concept of “dialect” comes into the picture while using the csv module. Dialect helps in defining a set of parameters, particularly to csv format to be used while reading a set of csv files. One has the flexibility to define its own set of the parameter using “register_dialect”.

Code:

csv.register_dialect(
    'mydialect',
    delimiter = ';',
    skipinitialspace = True,
    quotechar = '"',
    doublequote = True, 
)

Now this defined dialect can be used directly while reading or writing a csv file.

reader = csv.reader(csv_file, dialect='mydialect')

Conclusions

As we saw above, how important is the concept of csv reading in Python? There are various methods and parameters related to it. Every parameter has its significance while dealing with csv reading as well as writing a file. One needs to be familiar with it and practice it to get a good grip over it.

Recommended Articles

This is a guide to Python Read CSV File. Here we discuss an introduction, csv through some examples with proper codes and outputs. You can also go through our other related articles to learn more –

  1. Lowercase in Python
  2. Python Global Variable
  3. Python if main
  4. Python List Functions
Popular Course in this category
Python Certifications Training Program (40 Courses, 13+ Projects)
  40 Online Courses |  13 Hands-on Projects |  215+ Hours |  Verifiable Certificate of Completion
4.8
Price

View Course
0 Shares
Share
Tweet
Share
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

C# Programming, Conditional Constructs, Loops, Arrays, OOPS Concept

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more