Python:验证csv是否只有一列,否则抛出错误

我有一个包含电子邮件的CSV文件,我需要在其中验证是否有多于一列,如果有,那么我需要拒绝该文件,我正在考虑读取每一行并使用“输入”操作来检查是否第一行包含逗号,尽管在yahoo链接之一https://in.answers.yahoo.com/question/index?qid=20101211183849AAy3gVh中, 我发现如果用双引号括起来,我们可以在电子邮件地址中添加逗号。

这里的逻辑应该是什么?

不能使用csv或pandas模块

文件的前3行:

dilkash.manghani@gmail.com, dilkash.manghani@gmail.com

dilkash123@gmail.com, dilkash123@gmail.com

dilkash423@gmail.com, dilkash523@gmail.com

代码:


with open("file.csv", "r") as f:

    data = f.read().split('\n')

    for email in data:

        if "," in email:

            raise Exception("invalid")


牛魔王的故事
浏览 233回答 2
2回答

湖上湖

>>> import csv>>> with open('eggs.csv', 'rb') as csvfile:...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')...     for row in spamreader:...         assert(len(row) == 1)...         print ', '.join(row)会做的工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python