在将PGN元数据导入到Chess DB(如SCID)之前修复这些元数据的帮助程序脚本

normalizePGN的Python项目详细描述


**normalize pgn**是一个包含帮助脚本和示例的包,这些脚本和示例演示了如何规范化,即在将.pgn文件加载到国际象棋数据库之前更正.pgn文件中包含的某些游戏的元数据。
pgn文件有时由比赛组织者发布(特别是在很少有人进行数字化工作的大型活动中游戏)过去不一致。例如,事件名称或事件位置的写入方式稍有不同,或者.pgn文件中缺少一些我们想要的重要信息,如时间控制、玩家ELO或标题等。这些脚本有助于快速修复和完成这些信息
(比仅通过手动编辑.pgn文件更快)。
我们的想法是执行以下步骤:
-将游戏导入sqlite数据库
-运行一些检查数据一致性和我们关心的事情的sql查询
-基于上一步的结果,编写fix sql表达式(通常是以前比赛中的表达式
已经足够好了,或者只需要稍加修改)
-运行fix表达式
-重新检查数据(使用第二步中的查询)
-将游戏导出回.pgn文件
-将.pgn文件导入您选择的象棋数据库(例如scid)。
因此使用此包需要一些基本的SQL知识和一些初始时间投资,使您熟悉所有这些工作原理,并创建适合您特定用例的初始脚本。
但我的经验是,锦标赛组织者倾向于将相同的问题从一个事件版本复制到下一个事件版本。因此,一个版本的训练脚本通常适用于同一个锦标赛的所有下一个版本。因此,Linux或Mac用户可以有一个良好的起点。
Windows用户可能需要花更多的时间将这些人员重新编写为其系统中可用的技术,或者尝试使用Cygwin或Unix Services for Windows等实用工具。

source ball或
在典型安装中,使用部署到文件夹的pip:
-/usr/local/share/doc/normalizepgn(Linux)
-c:\ python35\doc\normalizepgn(Windows)或
-<;user>;\appdata\local\programs\python\python35-32\doc\normalizepgn

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
二维数组的java置换   eclipse如何在java中提供读取文件的相对地址   java将嵌套文档添加到嵌套文档数组中   java为什么要删除。导致maven编译错误的目录?   java Weave AspectJ方面依赖于约束注释   java如何在listview中选择后自动播放视频序列?   JavaEEWeb应用程序与Web服务   JavaSpringWebFlow提交包含新项的数组   java Try and Catch with JOption无法按预期工作   java如何使用导航抽屉中的字符串链接本地HTML页面?   java如何确保关闭文件   这能在一个Mac桌面应用程序中使用Java后端提供的ObjectiveC UI吗?   protobuf生成的代码导致的java Eclipse构建循环(与Maven Project Builder相关)   java JPA onetomany过滤   java实体管理器批量更新提供了组织。冬眠PersistentObjectException:传递给persist的分离实体   macos java。lang.RuntimeException:无法启动Selenium会话:   java Glide转换选择墙纸的位置?   java(在实体上使用@ConditionalOnProperty的变通方法)   Android系列。对java进行排序。lang.NullPointerException