我必须使用Python剥离()我的数据库输出,它已经可以工作了。但有更优雅的方式来做到这一点吗?
这是我的代码:
import MySQLdb
conn= MySQLdb.connect("localhost","root","testPW","MixOMat")
c=conn.cursor()
c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
z1=str(c.fetchall())
z1=z1.strip("(")
z1=z1.rstrip(")")
z1=z1.rstrip(",")
z1=z1.rstrip(")")
z1=z1.rstrip(",")
z1=z1.rstrip("L")
print(z1)
答案 0 :(得分:5)
首先,.strip
参数是您要删除的字符,因此您只需要2次调用
z1 = z1.strip('(').rstrip(')L')
其次,你做错了,获取数据的正确方法应该是(我认为):
c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
(z1, ) = c.fetchone()
请注意,我假设您只有一行要检索
这将直接检索一个整数而不是字符串表示
答案 1 :(得分:1)
只需使用for循环
for e in ["(",")", ","...]:
z1=z1.strip(e)
功能性方法:
from functools import reduce
z1 = reduce(lambda x: z1.strip(x), ["(",")", ","...])
甚至只是:
z1 = z1.strip("".join(["(",")", ","...]))
答案 2 :(得分:0)
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
这是另一种方法,或者你可以使用切片。