【起因前缘】

清明时节,行至湖北潜江,出站时有斜风细雨,在这难得的假期,当是良辰好景,可惜寒更雨歇,最是催人早醒,半梦之间,想起了虎易老师,颇多感怀。

我与虎易老师多年前相识于网络,当时刚学六爻,说来可笑,读了半本书,就敢到处给人断卦,幸遇虎易老师,几多辩论,景行行止,意识到自己学低而识不足,才渐渐学会了闭嘴。因有几年不曾活跃,想来虎易老师未必记得我,但我一直未曾忘记那份感激。

虎易老师博学多识,几十年如一日投入到六爻古籍的注解工作中,免费在网络上公开,热情在群里指导新人,从未故弄玄虚包装自我,担得起易学高人称谓,当代六爻学者,或多或少都应看过虎易老师的注解,只是盗版横行,篡改其名,读者未必知道注解其人。

那时群里常谈死生大事,断人寿辰的卦例最得大家积极,却不想,昔日戏言他人身后事,今朝都到故人眼前来,2023年11月07日,虎易老师与世长辞,一代易星陨落,令人扼腕,悲乎哀哉,我不知虎易老师墓地在潜江何处,只能于黎明抱守晨曦,心香一柱,徒生百感交集罢。

先生技高而不倨傲,为往圣继易学,为后世传经典,影响了包括我在内的许多人。思故起意,今年计划在业余之时,多投入些时间在此一道,便趁这清明假期,制作六爻排盘表,完全免费公开,有需者在公众号【易学实践录】回复六爻排盘表,即可自行获取。

借用虎易老师的一段话:由于本人学识有限,错误和错漏在所难免,诚望方家及读者指正。能对后学有所助益,则我之愿也。

【背景介绍】

卦例的记录是提高卜算水平的有效方法,也是验证六爻是否伪学的硬性手段,六爻术数经典《增删卜易》根基就是野鹤老人的卦例笔记集。

大学时为提高Excel水平,曾写过一版纯公式实现的六爻排盘表,缺点是各种高级用法嵌套,他人难以看懂;故本次提供数据底表,匹配引用即可。

界面设计参考<天机六爻排盘>APP,一些底表数据从论坛获取,数据处理过程用到了<FFcell、Fuzyy>等插件,感谢这些优秀的参考或工具。

后续计划Python做后端,VUE做前端,在网站/小程序上,实现万年历和六爻排盘工具,当前Excel表作为原型,仅是第一版,持续优化中。

获取途径:公众号<易学实践录>,个人博客:https://blog.ziyong.site (完全免费,完全开源),如有笔误或侵权之处,敬请联系。

【使用方法】

蓝色底色的单元格,必须填写,否则不能生成排盘表

浅蓝色底色的单元格,可填可不填,例如年支、时柱等,只有个别卦例需要用到

绿色底色的单元格,不用填写,表示数据是通过蓝色单元格匹配底表后获取的关联信息

【表格结构】

用[八卦表]生成了[六十四卦表],继而生成了[装卦表],(装卦表+六十甲子+生克冲合+卦爻辞)=所有底表数据,底表+卦例=>>排盘表。

底表中的很多字段,并没有在[排盘表]中呈现,如十二宫含义、卦爻辞等,如有需要可以自行取数,底表数据都已准备好了。

底表不需要修改,故简单隐藏,表格保护密码为 blog.ziyong.site,加密仅防误修改,遵守开源精神,转载或二开注明出处即可。

image-20240413001404901

【排盘表】

页签选择可以在 增删卦例和实战案例之间进行切换,前者用于学习,后者用于积累,私以为,研究六爻必须做好实战卦例的记录。

卦意、方位、卦数等附加信息仅做参考,切勿仅以此断卦,古人有言: 莫泥于卦名之善恶、神煞之吉凶。

相刑、相害、胎神等信息的说法有多种,这里只取了流传较广的版本;因为表格完全开放,可以根据自己需求进行修改。

浅绿色底色的单元格,需要填写,否则不能生成指定的排盘表。

02-排盘表

【增删卦例】

【增删卦例】页签,以 增删卜易(古吴版)的简体中文重排电子版为基础,再补充朱辰彬先生的《增删卦例初探220例》的解读。

增删版本众多,解读也众多,选用以上版本主要考虑①发行量和影响力②是否方便代码提取结构化数据,并不代表完全认可校勘和解读的质量。

我读的六爻书多且杂,仅增删解读就看过不下七八家版本至少十几遍,自认还未能辨真融通,所以只能做个搬运工,不敢输出个人观点,此处请见谅。

04-增删卦例

增删卜易(古吴版)的简体中文重排电子版中,有序号的一共450个卦例。

①一事多占之卦,也增算卦例 ②假令举例之卦,也增算卦例 ③旧存占验之卦,也增算卦例

实际共有451个卦例,原因是有2个卦例没有标序号,有2个卦例重复:

①如丙申日占文书,得地天泰 (书中有但未编号,在例122之后,例123之前,可编为122.5)

②命余同去买之,需绕道两日。余卜一卦,又得大有之大壮 (书中有但未编号,在例152之后,例153之前,可编为152.5)

③例 378、予曾于戌月丙戌日由江右登舟,占一路平安否,得蛊之巽

④例 391、戌月丙戌日由江右登舟占一路平安否,得蛊之巽

PS:增删原著中的例95占妻母病和例160的占求财,全书仅此两例日期和卦象一样

例 95、辰月乙丑日占妻母病,得随之否 例 160、辰月乙丑日占求财,得随之否

《增删卦例初探220例》,是易学作家朱辰彬先生的作品,分为上下两部,上部200个卦例,为其早年间亲笔写就,下部20个卦例,由其弟子解读但也经其审核后发布。

220个卦例,实际只有119个卦例,因为有两个卦例是重复解读了,不过解读内容略有差异,所以均有保留: 初探中的序号为例176和例196,均是解读了增删古吴版中的 (例86、丑月丙戌日占父有信至,已起程我去迎之可能遇否,得蹇之旅)

增删卦例中,一共整理了456行卦例,由下面三部分构成: 增删中的450个有序号的卦例+2个未标序号的卦例(122.5、152.5)+不同版本中有差异的3个卦例(204.5、207.5、283.5)+增删卦例初探中重复解读的1个卦例(86.5)

【日历相关】

用法:通过筛选,实现公历、农历、干支历互相转换,经验证,相较于各种Excel公式推算,查表法最为准确,历法本质上是观测+算法,不存在能够100%正确的计算公式。

03-日历

使用Python开源库cnLunar生成1901-2100年间的历法数据,删除宜忌等字段减小体积后,导出Excel表如上。

1、不使用寿星通式[Y*D+C]-L(存在较多错误),而使用香港天文台数据(阴阳合历,节气准农历日期才能准); 2、主要内容来自于《钦定协纪辨方书》,支持港式(通书配图)八字月柱算法-默认,通书原文文字农历月份算法; 3、选择依据正月初一切换年柱,原因是历代官方正统历法均如此,如有特殊需要,你可以简单推算后按立春切换年柱; 未选用6tail的lunar-python,原因是很多功能用不到,这也是非常优秀的一个库,尤其是在八字方面,给出多种理论的算法实现。

完整的日历另外成表如下:

import datetime  
import cnlunar  
import pandas as pd  
import os  
​  
start_date = datetime.datetime(1901, 1, 1, 0, 0)  
end_date = datetime.datetime(2100, 1, 1, 0, 0)  
# 支持范围:19010101-2100101  
delta = datetime.timedelta(days=1)  
# delta = datetime.timedelta(hours=1)  
# 无需输出到时辰,因为除了时干支不同外,其他字段依据的最小维度是日,并不会到时。  
calendar = []  
while start_date <= end_date:  
 a = cnlunar.Lunar(start_date, godType='8char')  # 常规算法,即在正月初一切换年干生肖  
 # a = cnlunar.Lunar(start_date, godType='8char', year8Char='beginningOfSpring')  # 八字立春切换算法。  
 # 1.中国历朝历代官方历法均以正月初一为一年首日,当天换年干生肖;立春换年,存在于八字等民间占卜预测学中,实际并非正统。  
 # 2.实际上民间立春换年也有多种理论,难以统一,六爻对年干的关注没有八字强烈,故依据《钦定协纪辨方书》计算,采用常规的初一换年。  
 # 3.这个问题历来争吵不休,我的建议是搁置争议,通过提供下一节气的提示,使用者简单推算就可以在这两种理论自如切换。  
 # 4.愿意追究细节,建议参考https://6tail.cn/,该博主发布的lunar-python对于该问题有较深推演,且代码非常完善。  
 dic = {  
 '公历日期': a.date,  
 '农历日期数字': '%s-%s-%s' % (a.lunarYear, a.lunarMonth, a.lunarDay),  
 '闰年': '闰' if a.isLunarLeapMonth else '',  
 '农历': '%s %s[%s]年 %s%s' % (a.lunarYearCn, a.year8Char, a.chineseYearZodiac, a.lunarMonthCn, a.lunarDayCn),  
 '农历日期': '%s%s' % (a.lunarMonthCn, a.lunarDayCn),  
 '星期': a.weekDayCn,  
 # 法定节日未增加除夕  
 '法定节日': (a.get_legalHolidays()),  
 # '纪念节日': (a.get_otherHolidays()),  
 '传统节日': (a.get_otherLunarHolidays()),  
 # '八字干支(带时)': ' '.join([a.year8Char, a.month8Char, a.day8Char, a.twohour8Char]),  
 # '八字干支': ' '.join([a.year8Char, a.month8Char, a.day8Char]),  
 '年干支': a.year8Char,  
 '月干支': a.month8Char,  
 '日干支': a.day8Char,  
 # '时干支': a.twohour8Char,  
 '今日节气': a.todaySolarTerms,  
 '下一节气': (a.nextSolarTerm, a.nextSolarTermDate, a.nextSolarTermYear),  
 '今年节气表': a.thisYearSolarTermsDic,  
 '季节': a.lunarSeason,  
​  
 '今日时辰': a.twohour8CharList,  
 '时辰凶吉': a.get_twohourLuckyList(),  
 '生肖冲煞': a.chineseZodiacClash,  
 '星座': a.starZodiac,  
 '星次': a.todayEastZodiac,  
​  
 '彭祖百忌': a.get_pengTaboo(),  
 '彭祖百忌精简': a.get_pengTaboo(long=4, delimit=','),  
 '十二神': a.get_today12DayOfficer(),  
 '廿八宿': a.get_the28Stars(),  
​  
 '今日三合': a.zodiacMark3List,  
 '今日六合': a.zodiacMark6,  
 '今日五行': a.get_today5Elements(),  
​  
 '纳音': a.get_nayin(),  
 '九宫飞星': a.get_the9FlyStar(),  
 '吉神方位': a.get_luckyGodsDirection(),  
 '今日胎神': a.get_fetalGod(),  
 '神煞宜忌': a.angelDemon,  
 '今日吉神': a.goodGodName,  
 '今日凶煞': a.badGodName,  
 '宜忌等第': a.todayLevelName,  
 '宜': a.goodThing,  
 '忌': a.badThing,  
 # '时辰经络': a.meridians  
 }  
 calendar.append(dic)  
 start_date += delta  
 print(start_date)  
​  
df = pd.DataFrame(calendar)  
file_name = "万年历输出表.xlsx"  
​  
sheet_name = datetime.datetime.now().strftime("%H-%M-%S")  
if os.path.exists(file_name):  
 with pd.ExcelWriter(file_name, mode='a') as writer:  
 df.to_excel(writer, sheet_name=sheet_name, index=False)  
 print(f"已在 {file_name} 中添加新的sheet表:{sheet_name}")  
else:  
 df.to_excel(file_name, sheet_name=sheet_name, index=False)  
 print(f"已在 {file_name} 中创建新的sheet表:{sheet_name}")

【底表字段示例】

05-字段示例表