Python

  • Published on
    使用 sqlite-utils 进行数据插入时, upsert 方法可能因未满足非空约束而失败。插入时只提供主键值导致违反 NOT NULL 约束,因而插入失败但未反馈错误。SQLite 3.24.0 及以上版本支持 upsert 语法,建议使用该语法以避免此类问题。sqlite-utils 的 upsert 实现不符合 SQLite 的新特性,需注意其命名和实现方式。
  • Published on
    本文介绍了一种使用 SQLite 实现字符串 DSL 的方法,允许用户在字符串中动态渲染表达式,如获取当前日期和时间。通过定义 SQL 查询和解析表达式,用户可以方便地生成包含动态数据的字符串。示例代码展示了如何使用该方法来处理不同格式的字符串,并强调了这种方法相较于直接执行 Python 代码的安全性和友好性。
  • Published on
    本文介绍了 BoostPost 库的设计与实现,旨在优化数据处理工作中的更新请求构建。通过示例展示了如何处理新旧数据的插入、更新和删除,强调了数据类的概念及其在 Python 中的应用。文章还探讨了逻辑删除和更新优先级等特殊场景,提供了扩展接口的实现思路,并总结了项目代码质量提升的重要性。
  • Published on
    本文讨论了如何改善现有代码的设计,特别是在数据清洗过程中,通过封装业务逻辑来统一和规范化数据更新的处理。文章介绍了数据类的概念及其在Python中的实现,强调了兼容性和可扩展性的重要性,并提供了具体的代码示例,展示了如何使用数据类来简化数据处理和去重逻辑。最后,推荐了相关书籍以帮助提高代码质量。