Python汉字字符编码转换

python下由于汉字分属不同unicode的区段,造成转换混乱,尤其是知网之类的pdf文件转换过程中。有时需要根据汉字来判断编码,然后再进行处理。

import json
s = ‘易易’
print(json.dumps(s))

这样可以得到不同的编码:”\u6613\uf9e0″。后一个属于中日韩统一表意文字。

同样

s =’\\u’+’f9e0′
ss = s.encode(‘utf-8’).decode(‘unicode_escape’)

这样可以得到编码对应的汉字。

弃儿firebird

那一次处理十万计数据的时候,第一次用到了firebird。因为有其他单位也需要那个程序,而access实在不堪用,而MySQL在Windows下跟Linux下的表现简直不像一个程序,所以选择了firebird的内嵌版,而那速度,堪称飞快。
很多年没有用firebird了,今天到网上看了一下,原先的中文网早已关闭,域名待售中。英文官网还不错,版本终于到了3.0版本,只不过相对于原先服务器版本还分classic和super,现在又加了一个superclassic。
firebird也算是出身名门,老东家Borland在90年代在编程软件领域一度压的微软喘不过气来。其前身是interbase,再往前寻祖还能和dbase沾上亲,而其兄弟delphi更是大名鼎鼎,当年其相关书籍在新华书店书架上阵势和现在的python相当。作为数据库,InterBase因为免费,一度受到各大财务软件的青睐,也因为性能优越,传奇私服的数据库也是用的它,所以我才可以熟门熟路地在老P的私人服务器上,给他打造了一身无上装备。
firebird是脱胎于InterBase的开源版本,但他的开源,说好听是是顺应潮流,说难听就是成了弃儿。Borland从顶峰崩坍式坠落后,其招牌delphi被一卖再卖,最后连名字都未能保住,何况已然落后数据库了。
互联网浪潮的到来,技术的剧变超出任何人的想象,无人能够阻挡,哪怕停留都会被吞没。

混迹IT最好的三年

上一次一下倒腾十万条数据已经是14年前了。
那时候算是IT人员,再加上领导支持甚至有些纵容,可以花费大量的时间专心做一些程序,自以为很有用的程序。虽然技术还很粗糙,但好在脑子清楚,思路开阔,总能找到一些解决办法。
现在看到外甥写程序的时候,时而挠头,时而击掌,想来就是我当年的模样。
那个几十万数据的满页帐系统,因为得不到原始数据,但通过发打印命令、kill进程、下载打印文件、分解文件导入数据库,虽然绕弯子笨了点,但在当时条件下也算完美解决了问题。
那三年应该是我技术进步最快,也是最有成就感的三年,也开始从原先c/s转向b/s。
但到了2008年,一切戛然而止。

数据“大”转移

前几日将前期整理的数据文件,分解导入MySQL数据库中。使用全文检索,速度满意,但准确度有很大缺憾。
又在网上搜索了相关资料后,准备将资料转入postgresql数据库中再测试一下。先将数据导出,导入费劲,导出35万条记录却只是看看进度条快闪的时间。
但导入到postgresql中时遇到了麻烦,其官方推荐的客户端死活不干活,估计是认出文件不是自家导出的。于是换上dbeaver,误打误撞间,一个界面下,在不同数据库连接中,选择对应的表,鼠标点击几下,数据记录瞬间移形换位。
一方面意外dbeaver深藏不露的高效,另一方面也不得不感慨,这30多万条记录,即便在2g内存的虚拟机下,对于数据库而言,也是不值一提。
只是开始。

安装测试zhparser

首先安装SCWS,网上说明有些问题,直接下载后解压,

./configure ; make install

下载zhparser源码:

git clone https://github.com/amutu/zhparser.git

然后编译的时候,因为Postgresql版本安装有点混乱,出现错误,直接安装相关库

sudo apt-get install postgresql-server-dev-all
sudo apt-get install postgresql-common

然后编译成功

make && make install

配置zhparser

CREATE EXTENSION zhparser;


CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);

ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;

建立全文检索的索引

create index idx_gin_content on content using gin(to_tsvector(‘testzhcfg’,content));

通过建立了索引(gin)的全文检索搜索数据库记录

select * from content where to_tsvector(‘testzhcfg’,content) @@ to_tsquery(‘testzhcfg’,’艾灸’)

 

 

 

 

 

 

学然后重识书

昨晚上看屏幕左眼开始流泪,只好关了电脑。看儿子还在做作业,离睡觉给他点眼药水还有段时间。电脑手机看不了,便找本书看。
书架上的书基本转移的差不多了,剩下的计算机类书籍要么是用不着的,要么了了几本是看不懂的。
拿了一本数据分析的书,躺在沙发上随手翻翻打发时间。翻看几页,发现前面当初看不懂的章节内容,居然现在已经看懂了。继续翻看,感觉这本书被低估了,里面内容很有条理,章节设置也是按照从易到难的顺序逐步展开。只不过翻译的水平差一些,略显生硬。
书籍翻了一半,后面章节涉及的内容虽然又超出了我学习范畴,但兴奋的是,还能看懂这正是我近期想要应用的内容。
意外的好书,看来书总是有用的。

同人不同格

那晚和儿子闲聊也不是一无所获。
虽说江南在为《上海堡垒》道歉中,也嘀咕说那本书不是很畅销的,卖不出多少本。言外之意就是他的好作品有的是。
但我和儿子回忆了一下看过的作品,发现比较而言《龙族三》算是好的了。当然,这要是与《此间的少年》相比,那风格感觉简直不是一个作者写出来的。
作品判若两人之作的,不光小说,还有影视作品。
因为前几天电视里面在介绍管虎09年的电视剧《沂蒙》,便把话题又转到影视剧上。讨论到拍电影就要有拍电影的态度,比如管虎拍的电影《戏子厨子痞子》,虽然论剧情似乎是不正经,但无论导演还是演员在认真正经地拍和演。
但儿子睡着后,我突然想起,《鬼吹灯之黄皮子坟》,也是管虎拍的。

直接安装Postgresql11

昨晚把前段时间采集的数据库,通过python分解入mysql库,今天使用mysql的全文检索功能进行了一下测试,自然语言下效果已经非常满意。但后来看到网上评论,Postgresql下的无论自身还是通过插件,功能更为强大。

本来就是出于准备阶段,各种数据库都要尝试的,于是尝试安装Postgresql,Ubuntu下安装时候提示版本为10.

前几天记得看到新闻,Postgresql 12版本已经发布,即便不尝鲜,10版本还是有些有点旧了。于是修改apt的源,安装最新版本。

sudo apt-get install wget ca-certificates
wget –quiet -O – https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –

sudo sh -c ‘echo “deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main” >> /etc/apt/sources.list.d/pgdg.list’

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

安装顺利完成,目前版本是11,应该足够测试使用了。

一言不慎费时费钱

国庆假期前几天,和儿子各忙各的,交流不多。昨晚趁儿子学习结束睡觉前的时间,开始噼里啪啦夹核桃准备补脑的食粮。
闲的无聊,就顺口提起前几天看了几分钟的电影《上海堡垒》。
本来学习的已经有些头都抬不起来的小子,突然来了精神。聊没几句,拿起手机打开B站就开始看吐槽版的电影剪辑。边看边笑,最后还下定义道:看这台词,是江南的风格,卡塞尔的。
看完剪辑,儿子决定,电影这么糟烂,就不看了,哪天买本江南的原著来看看,比较一下。
真是一言不慎,浪费时间又浪费钱财。

应该是心服口服的失利

昨天回家打开电视看亚冠半决赛没一会,就看到恒大被对手世界波破门。
今天看新闻,有关这场比赛的标题几乎都再说,恒大被对手两记世界波击败。不看比赛,看标题,还以为恒大全面压制日本浦和呢。
输球后恒大应该输的没有脾气,否则就会又蹦出“再给马达100次机会他也踢不进去”的论调了。进攻方面恒大单兵作战难以给浦和造成威胁,而黄博文第二球的“助攻”,则完全是体能不支造成的。
以前恒大是拿着亚冠标准组队双线作战,今年挖角U23等年轻球员来应付联赛,U23政策变更后,又开始囤积归化球员。
这样看来,不管明年许老板是否还花血本踢亚冠,受损的还是那些为了自己理想前来投奔的年轻球员。