如何从csv文件中的字段使用python读取多个值3

问题描述:

嗨,我有一个csv文件,用逗号分隔。如何从csv文件中的字段使用python读取多个值3

name, email1; Email2; email3, etc, telephone 

我想使用python中的csv模块从电子邮件字段中提取所有电子邮件地址。并从每个电子邮件地址使用这样的其他领域写一排

name, email1, etc, telephone 
name, Email2, etc, telephone 
name, email3, etc, telephone 

也许我需要阅读电子邮件字段,并将其拆分为分隔的字符串?

+2

是也许你做的测试。实施它,然后问一个问题,如果你遇到问题。 – pvg

创建CSV阅读器和书写器,如您所说,使用标准,分隔符阅读文件,然后使用;手动拆分电子邮件字段。对于每一个电子邮件条目,编写等各个领域:

import csv 

with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output: 
    csv_input = csv.reader(f_input) 
    csv_output = csv.writer(f_output) 

    for row in csv_input: 
     emails = row[1].split(';') 
     for email in emails: 
      csv_output.writerow([row[0], email] + row[3:]) 

或稍多紧凑:

import csv 

with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output: 
    csv_output = csv.writer(f_output) 

    for row in csv.reader(f_input): 
     csv_output.writerows([row[0], email] + row[3:] for email in row[1].split(';')) 

使用Python 3.x的

+0

非常感谢。我正在赚蟒蛇。 –