我的问题是,我有一个非常大的数据库的电子邮件和密码,我需要把它发送到一个mysql数据库。
.txt文件格式如下:
emailnumberone@gmail.com:password1
emailnumbertwo@gmail.com:password2
emailnumberthree@gmail.com:password3
emailnumberfour@gmail.com:password4
emailnumberfive@gmail.com:password5
我的想法是创建一个循环,将行作为一个变量,搜索“:”并选择前面的文本,将其发送到db,然后将其发送到行的后面部分。我该怎么做?
3条答案
按热度按时间hc8w905p1#
以上下文管理器的形式打开文件(使用open(…)),您可以使用for循环遍历行,然后使用regex匹配(re module)(或者只拆分“:”)并使用sqlite3将值插入db。
所以文件:
sqlite3文档:https://docs.python.org/2/library/sqlite3.html
eoigrqb62#
带有一些错误处理的短程序:
创建演示数据文件:
分析数据/存储:
输出:
编辑:根据电子邮件地址中允许使用哪些字符?-一
':'
如果被引用,可能是电子邮件第一部分的一部分。理论上,这将允许输入
这将导致此代码出错。请参阅talip tolga sans答案,了解如何以不同方式分解拆分以避免此问题。
3pmvbmvn3#
这可以通过简单的
split()
python中字符串的方法。为了适应@patrickartner的复杂密码失败,可以这样做:
str.find()返回给定字符串中给定字符的第一个出现位置。电子邮件可能有
:
但他们不能@
. 所以首先确定@
然后定位:
会给你正确的分离位置。在那之后,分开绳子将是小菜一碟。