【问题标题】:Removing Mysterious Double Tabs in Python's csv.reader在 Python 的 csv.reader 中删除神秘的双标签
【发布时间】:2020-09-08 23:40:33
【问题描述】:

我正在学习 CSV 模块。

讨厌的'\t\t' 出现在每行的最后一个值上,这是一个电子邮件值。

> ['first_name', 'last_name', 'email'] ['John', 'Doe',
> 'john-doe@bogusemail.com\t\t'] ['Mary', 'Smith-Robinson',
> 'maryjacobs@bogusemail.com\t\t'] ['Dave', 'Smith',
> 'davesmith@bogusemail.com\t\t']

我认为这是因为 excel 在电子邮件后添加了两个选项卡,大概是为了防止它成为超链接。但这是 TMI。

如何阅读此内容并在每封电子邮件后去掉'\t\t'

这是我目前所拥有的:

with open('names cs.csv') as f:
    reader = csv.reader(f)
    for i in reader:
        print(i)

【问题讨论】:

    标签: python excel string csv file


    【解决方案1】:

    CSV 模块无法解决此问题。最简单的方法是在导入后清理数据。

    遍历您的电子邮件并将所有“\t”替换为空白。

    emails = ['jeffadfafadsf\t\t','asdfasdfadsfadf\t\t']
    
    for i in emails:
        i = i.replace('\t','')
        print(i) 
    
    #   The same can be accomplished with the following line of code:
    
    emails = [i.replace('\t','') for i in emails]
    print(emails)
    

    由于您的列表包含更多字段,因此您需要执行以下操作:

    for i in reader:
        i[2] = i.replace('\t','')
    

    如果您好奇并想阅读任何文档,可以找到here,可选参数(方言和格式参数)文档可以找到here

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 2014-09-06
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多