我有一个SQLite3数据库,其中包含日文文本句子和名为假名的其他字符,这有助于语音阅读。
我有一个函数remove_furigana,它可以处理一个字符串并返回没有假名字符的字符串。但是,当我通过这个函数时,从我的数据库中提取的句子似乎没有任何效果。有人可以向我澄清这里发生了什么,并指出我的解决方案吗?
{{1}}
答案 0 :(得分:0)
Python SQLite fetchall function返回由该记录中的字段组成的元组。您需要将content
列发送到函数:
def retrieve_article():
c.execute('SELECT content FROM sentence WHERE article_id = "k10010770581000"')
for row in c.fetchall():
print(remove_furigana(row[0]))
或者,您可以使用row_factory来获取字典而不是元组:
import sqlite3
def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d
con = sqlite3.connect(":memory:") con.row_factory = dict_factory
在这种情况下,fetchall结果将是字典,您可以访问content
字段:
print(remove_furigana(row['content']))