Unlocking the Power of CSV Files in Python
CSV (Comma Separated Values) files are a staple in the world of data storage, providing a simple and efficient way to manage tabular data. In this article, we’ll dive into the world of CSV files and explore how Python can help you master them.
Getting Started with CSV Files
To work with CSV files, you’ll need to make sure your file has the .csv
extension. Let’s take a look at an example people.csv
file and its contents.
Reading CSV Files with Python
Python’s dedicated csv
module makes it easy to read CSV files. The csv.reader()
function is the key to unlocking your file’s contents. Here’s an example:
with open('people.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
But that’s not all. The csv.DictReader()
class takes it to the next level by reading your CSV file into a dictionary, making it more user-friendly and accessible.
Writing to CSV Files with Python
Now that we’ve read our CSV file, let’s learn how to write to one. The csv.writer()
function makes it easy to create a new CSV file or add to an existing one. Here’s an example:
with open('protagonist.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["SN", "Movie", "Protagonist"])
writer.writerow([1, "Lord of the Rings", "Frodo Baggins"])
writer.writerow([2, "Harry Potter", "Harry Potter"])
But what if you need to write dictionary data to a CSV file? That’s where the csv.DictWriter()
class comes in.
Taking it to the Next Level with Pandas
When working with large datasets, Python’s Pandas library is the way to go. It provides a powerful and efficient way to handle CSV files. Before we can use Pandas, we need to install and import it.
Reading CSV Files with Pandas
To read a CSV file using Pandas, we can use the read_csv()
function. Here’s an example:
import pandas as pd
people = pd.read_csv('people.csv')
print(people)
Writing to CSV Files with Pandas
To write to a CSV file, we need to use the to_csv()
function of a DataFrame. Here’s an example:
import pandas as pd
data = {'Name': ['John', 'Mary', 'David'],
'Age': [25, 31, 42]}
df = pd.DataFrame(data)
df.to_csv('person.csv', index=False)
With these tools at your disposal, you’re ready to unlock the full potential of CSV files in Python. Whether you’re working with small datasets or massive ones, Python’s got you covered.