在将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出现编译错误,我不理解   java在gnu-trove库中是否有任何有序映射?   java Servlet应该有映射,但找不到Servlet   java时间和第二期显示1:10,而不是13:10   java Play Framework 1.2.7 Heroku更新崩溃   线程“main”java中的opencsv异常。lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils   selenium在java中隐藏警告消息   java使用ID引用将JSON实体反序列化为POJO   java无法在JRE 8中加载字体   一个线程中的异常/错误会使整个应用程序停止吗?   java访问重复子规则的元素标签;e、 g.用ANTLR解析(1,2,3)中的a   java如何从平移旋转中找到新坐标   使用HTML Java小程序托管jar文件存在安全问题   java如何按频率而不是字母顺序排列字符串数组   java清除bufferedReader和块以获得更多输入   java解密SAML2断言