w3resource

Python: Reads a CSV file and remove initial spaces, quotes around each entry and the delimiter

Python CSV File Reading and Writing: Exercise-6 with Solution

Write a Python program that reads a CSV file and remove initial spaces, quotes around each entry and the delimiter.

Sample Solution:

Python Code :

import csv
csv.register_dialect('csv_dialect',
                    delimiter='|',
                    skipinitialspace=True,
                    quoting=csv.QUOTE_ALL)
with open('temp.csv', 'r') as csvfile:
   reader = csv.reader(csvfile, dialect='csv_dialect')
   for row in reader:
       print(row)

temp.csv

"country_id"|"country_name"|"region_id"
"AR"|"Argentina"| 2
"AU"|"Australia"| 3
"BE"|"Belgium"| 1
"BR"|"Brazil"| 2
"CA"|"Canada"| 2

Sample Output:

['country_id', 'country_name', 'region_id']
['AR', 'Argentina', '2']
['AU', 'Australia', '3']
['BE', 'Belgium', '1']
['BR', 'Brazil', '2']
['CA', 'Canada', '2']

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to read a given CSV files with initial spaces after a delimiter and remove those initial spaces.
Next: Write a Python program to read specific columns of a given CSV file and print the content of the columns.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz


Python: Tips of the Day

Creates a dictionary with the same keys as the provided dictionary and values generated by running the provided function for each value:

Example:

def tips_map_values(obj, fn):
  ret = {}
  for key in obj.keys():
    ret[key] = fn(obj[key])
  return ret
users = {
  'Owen': { 'user': 'Owen', 'age': 29 },
  'Eddie': { 'user': 'Eddie', 'age': 15 }
}

print(tips_map_values(users, lambda u : u['age'])) # {'Owen': 29, 'Eddie': 15}

Output:

{'Owen': 29, 'Eddie': 15}