2024-09-27 19:31:22 发布
网友
我正在通过csv.reader()读取一个csv文件,我想读取没有任何符号或空格的值,小写如下:
csv.reader()
a = " Kingston-(USB) = 1GB, 2GB, 32GB . . . "
像这样转换“a”:
我只想在数据中输入字母和数字。 应删除任何类型的符号。 我使用了.lower()函数和.strip()函数来完成此操作。但是strip函数只删除单词之间的空格,而我想删除所有类型的符号。 谢谢。在
.lower()
.strip()
如果使用ascii,则可以使用str.翻译从小写字符串中删除无数字和字母的所有内容
>>> from string import ascii_letters, digits >>> ascii = set(chr(e) for e in range(128)) >>> ascii_sans_alpha = ''.join(ascii.difference(ascii_letters + digits)) >>> a = " Kingston-(USB) = 1GB, 2GB, 32GB . . . " >>> a.lower().translate(None,ascii_sans_alpha) 'kingstonusb1gb2gb32gb'
这有多快?使用timeit参考
我可能会做一些类似的事情:
import string good = set(string.ascii_lowercase + string.digits) a = ''.join(x for x in a.lower() if x in good)
它可能不是最有效的,但它应该是有效的,而且非常容易阅读/理解。在
您可以使用regex:
>>> import re >>> a = " Kingston-(USB) = 1GB, 2GB, 32GB . . . " >>> re.sub(r'[^a-z0-9]', '', a.lower()) 'kingstonusb1gb2gb32gb'
或发电机:
或是一些快速的东西:
>>> import string >>> allowed = set(string.lowercase + string.digits) >>> ''.join(filter(allowed.__contains__, a.lower())) 'kingstonusb1gb2gb32gb'
如果使用ascii,则可以使用str.翻译从小写字符串中删除无数字和字母的所有内容
这有多快?使用timeit参考
^{pr2}$我可能会做一些类似的事情:
它可能不是最有效的,但它应该是有效的,而且非常容易阅读/理解。在
您可以使用regex:
或发电机:
^{pr2}$或是一些快速的东西:
相关问题 更多 >
编程相关推荐