使用.join从数据库取字符串后输出被截断,如何获取完整内容?
问题修复方案
你的核心问题是错误地将数据库查询的结果对象直接转为字符串,这类对象的字符串表示默认会做截断处理(避免输出过长),所以无论怎么切割拼接都拿不到完整内容。
正确做法
直接从查询结果中提取目标字段的实际值,而不是把结果对象转成字符串处理:
示例1(SQLAlchemy 场景)
# 获取ID=100的单行数据 row = conn.query("SELECT any_column from my_table WHERE id = 100").first() # 提取字段的完整值 full_content = row.any_column # 输出完整内容 print(full_content)
示例2(psycopg2 等原生驱动场景)
cursor = conn.cursor() cursor.execute("SELECT any_column from my_table WHERE id = 100") # 获取单行结果(返回元组,索引0对应目标字段) row = cursor.fetchone() if row: full_content = row[0] print(full_content) cursor.close()
原代码失效原因
str(conn.query(...))得到的是结果集对象的调试用字符串,不是字段的真实值。大多数数据库驱动会自动截断这个字符串的长度(比如只显示前N个字符加...),所以你看到的de...就是截断后的结果,后续的split()[2:]只能基于这个截断后的字符串处理,自然拿不到完整内容。
内容的提问来源于stack exchange,提问作者C4ORT
相关产品推荐
相关产品推荐

