nomanahmedna
nomanahmedna

Reputation: 15

How to Append List in Python by reading csv file

I am trying to write a simple program that should give the following output when it reads csv file which contains several email ids.

email_id = ['[email protected]','[email protected]','[email protected]'] #required format

but the problem is the output I got is like this following:

[['[email protected]']]
[['[email protected]'], ['[email protected]']]
[['[email protected]'], ['[email protected]'], ['[email protected]']] #getting this wrong format

here is my piece of code that I have written: Kindly suggest me the correction in the following piece of code which would give me the required format. Thanks in advance.

import csv

email_id = []

with open('contacts1.csv', 'r') as file:
    reader = csv.reader(file, delimiter = ',')
    for row in reader:
        email_id.append(row)
        print(email_id)

NB.: Note my csv contains only one column that has email ids and has no header. I also tried the email_id.extend(row) but It did not work also.

Upvotes: 1

Views: 2066

Answers (1)

Jarvis
Jarvis

Reputation: 8564

You need to move your print outside the loop:

with open('contacts1.csv', 'r') as file:
    reader = csv.reader(file, delimiter = ',')
    for row in reader:
        email_id.append(row)
    print(sum(email_id, []))

The loop can also be like this (if you only need one column from the csv):

for row in reader:
    email_id.append(row[0])
print(email_id)

Upvotes: 1

Related Questions