python - 在 Python 的 csv.reader 中删除神秘的双标签
问题描述
我正在上 CSV 模块的课程。
Pesky'\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'
在每封电子邮件之后去掉 's?
这是我到目前为止所拥有的:
with open('names cs.csv') as f:
reader = csv.reader(f)
for i in reader:
print(i)
解决方案
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','')
推荐阅读
- one-time-password - Google Authenticator TOTP 和常规 TOTP 有什么区别
- python - 根据用户输入更改文件名
- mysql - MySQL 插入问题:#1136 - 列计数与第 1 行的值计数不匹配
- vue.js - 输入表单不起作用 - 更新 bootstrap-vue 版本
- python - 使用 Pytest,如何检查 API 端点返回的聚合是否正确?
- drools - Drools,无法在决策表操作中访问 HashMap
- android - ContentResolver 查询不返回新插入的视频
- unity3d - 为虚拟现实统一映射现实世界
- mysql - 无法使用我的本地笔记本电脑连接到在 Azure 上的 Linux(ubuntu 16.04)虚拟机上运行的 MySQL
- c++ - 如何从 C++ 中的代码显示文本文件?