39
loading...
This website collects cookies to deliver better user experience
capital.csv
file.country,capital
India,New Delhi
Ireland,Dublin
Germany,Berlin
Austria,Vienna
import csv
with open('capital.csv') as f:
reader = csv.reader(f)
header = next(reader)
for row in reader:
print(row)
['India', 'New Delhi']
['Ireland', 'Dublin']
['Germany', 'Berlin']
['Austria', 'Vienna']
import csv
with open('capital.csv') as f:
reader = csv.DictReader(f)
for row in reader:
print('Country:', row['country'])
Country: India
Country: Ireland
Country: Germany
Country: Austria
DictReader
we get the output in dictionary format, using which we can access the members as row['country']
, or row['capital']
. Field names (header) can be retrieved as reader.fieldnames
.dialect
.import csv
print(csv.list_dialects())
['excel', 'excel-tab', 'unix']
reader
function, or if you require only few options, and creating a separate dialect sounds overkill for you then you can pass these options directly to the reader
function.capital.csv
file with some minor changes.country, capital
India, New Delhi
Ireland, Dublin
Germany, Berlin
Austria, Vienna
skipinitialspace
it is.import csv
with open('captial.csv') as f:
reader = csv.reader(f, skipinitialspace=True)
header = next(reader)
for row in reader:
print(row)
['India', 'New Delhi']
['Ireland', 'Dublin']
['Germany', 'Berlin']
['Austria', 'Vienna']
csv.Dialect
for it, and pass it to the reader
function as csv.reader(f, dialect=dialect)
....
my_dialect = csv.excel()
my_dialect.skipinitialspace = True
with open('capital.csv') as f:
reader = csv.reader(f, dialect=my_dialect)
...
csv.excel
dialect, with a tweak in setting skipinitialspace
option as true
....
my_dialect = csv.excel()
my_dialect.skipinitialspace = True
csv.register_dialect('my_dialect', my_dialect)
with open('capital.csv') as f:
reader = csv.reader(f, dialect='my_dialect')
...
writer
function complementing the reader
?reader
and DictReader
, we have writer
and DictWriter
.import csv
header = ["country", "capital"]
data = [("India", "New Delhi"), ("Ireland", "Dublin"), ("Germany", "Berlin"), ("Austria", "Vienna")]
with open('new_captial.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(header)
for row in data:
writer.writerow(row)
writerows
method of the writer....
with open('new_captial.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(header)
writer.writerows(data)
csv.DictWriter
is useful when working with json
data in a particular format.import csv
header = ["country", "capital"]
data = [
{"country": "India", "capital": "New Delhi"},
{"country": "Ireland", "capital": "Dublin"},
{"country": "Germany", "capital": "Berlin"},
{"country": "Austria", "capital": "Vienna"},
]
with open('new_captial.csv', 'w') as f:
writer = csv.DictWriter(f, fieldnames=header)
writer.writeheader()
writer.writerows(data)
dialect
to writer
function to change the output format.