• Python和SQLite游标处理多行数据


    如果您需要处理多行数据,使用游标或其他适当的方法是更好的选择。以下是一些处理多行数据的方法:

    • 使用游标:游标可以逐行处理查询结果,这对于大量数据或需要逐行处理的场景非常有用。以下是一个使用Python和SQLite的游标示例:
    1. import sqlite3
    2. conn = sqlite3.connect('example.db')
    3. cursor = conn.cursor()
    4. # 执行查询
    5. cursor.execute("SELECT * FROM your_table")
    6. # 使用fetchone()逐行获取数据
    7. row = cursor.fetchone()
    8. while row is not None:
    9. # 在这里处理每一行数据
    10. print(row)
    11. row = cursor.fetchone()
    12. # 关闭游标和连接
    13. cursor.close()
    14. conn.close()
    • 使用批量操作:如果您的数据库支持批量操作,可以一次性处理多行数据。例如,在SQLite中,您可以使用executemany()方法执行多行插入:
    1. import sqlite3
    2. conn = sqlite3.connect('example.db')
    3. cursor = conn.cursor()
    4. # 准备数据
    5. data = [
    6. ('row1_value1', 'row1_value2'),
    7. ('row2_value1', 'row2_value2'),
    8. ('row3_value1', 'row3_value2')
    9. ]
    10. # 使用executemany()执行批量插入
    11. cursor.executemany("INSERT INTO your_table (column1, column2) VALUES (?, ?)", data)
    12. # 提交更改并关闭游标和连接
    13. conn.commit()
    14. cursor.close()
    15. conn.close()
    • 使用分批处理:如果您的数据量非常大,可以将数据分批处理,以减少内存占用和提高性能。以下是一个分批处理的示例:
    1. import sqlite3
    2. conn = sqlite3.connect('example.db')
    3. cursor = conn.cursor()
    4. # 设置批处理大小
    5. batch_size = 100
    6. # 执行查询
    7. cursor.execute("SELECT * FROM your_table")
    8. # 使用fetchmany()分批获取数据
    9. rows = cursor.fetchmany(batch_size)
    10. while len(rows) > 0:
    11. for row in rows:
    12. # 在这里处理每一行数据
    13. print(row)
    14. # 获取下一批数据
    15. rows = cursor.fetchmany(batch_size)
    16. # 关闭游标和连接
    17. cursor.close()
    18. conn.close()

     

  • 相关阅读:
    USB MSC类存储设备
    ChatGPT搭建AI网站实战
    Linux-0-云服务器购买与配置
    2342. 数位和相等数对的最大和 --力扣 --JAVA
    redis哨兵机制
    go语言学习
    nodejs+vue+elementui零食食品o2o商城系统
    【UML】类图详解
    基于Apache组件,分析对象池原理
    (译)TDD(测试驱动开发)的5个步骤
  • 原文地址:https://blog.csdn.net/book_dw5189/article/details/134226015