Geopands读取地图数据shp文件,原始文件用Arcmap打开后中文显示正常,但是Geopands保存后,中文显示为乱码“?”。尝试更改Geopands读取时encoding,分别设为gb18030、utf-8或gbk,输出shp文件的中文还是乱码。参考《ArcGIS中文乱码问题详解》,《python geopandas读取保存文件中文属性乱码》,按照后者提示在Geopands读取时设置encoding为gbk,保存时encoding设置为utf-8,输出shp文件的中文正常了。
分类目录归档:未分类
office365教育版 A3 申请与安装
之前某宝上三十大洋买的office账户到期,百度一下才知道有edu信箱可以申请office教育版。山青院现在还申请不了,邮箱不能接收微软的认证邮件,但是山财大的邮箱可以,于是再一次借老婆大人的光(之前是同济的正版windows)。一开始只申请到了office365教育版 A1,有正版的Onedriver可用了(之前某宝买的担心文件安全一直没用这个功能),但是这个版本不能安装office桌面应用,绕了两天弯路(找office2016的激活),百度导向到知乎中《office365教育版不能下载office软件?》,这才醒悟到之前买所谓正版账户也是他人免费申请的(灰色的),也知道了如果学校与微软有合作计划,有可能申请到桌面版和在线版都有的版本,而office365教育版的具体细分版本见《免费获取可供整个学校使用的 Office 365》。
从《Office 365 A1 Plus教育版桌面获取》知道,在office365教育版 A1基础上,通过链接https://account.activedirectory.windowsazure.com/r#groups加入组,然后就获得office365教育版 A3。虽然此文是说加入“武汉加油”组,抱着试试看的心态打开链接,发现自己无组可加,但是可以创建组,于是自创一个组(自然加入)后获得了office365教育版 A3。这样老婆的账号可以安5个电脑,两人各一台笔记本电脑,家里的一个台式机,还有办公室各一个台式机就能够用上正版了。从《如何获得office365教育版无期限》了解到全局管理员用户可以毫无保留的浏览你存储的文件、已经填写的个人信息和登陆IP地址,所以office365教育版 A3也还是有一些隐私权限与风险问题。
家里两台笔记本直接从设置-应用中很顺利卸载之前旧的office365,新的office365安装也很快(无线网络下载速度真比以前快,越来越理解浏览器就是系统与应用,什么都可以做成在线的)。家里台式机卸载时却出现错误提示,错误码是30016-4,下载微软专用卸载软件删也没用,覆盖安装更是别想。最后,还是按照微软官方的《手动卸载 Office》,一步一步删除了旧版,重启电脑后新版的安装更快(网线连的路由)。
以上office365教育版 A3申请与安装经验的备份,希望能帮助到其他老师。此外,这次还感觉到学校平台的差别,以及微软在教育方面的长线投入。最后,还是多谢老婆!
续:两天后office365教育版竟然又显示没有可用许可证,再到山财大网络信息中心的主页,发现2019年就有了正版软件栏目。我这纯粹属于兜兜转转一大圈,净是无用功。重新下载office2019安装光盘镜像与激活软件,连上山财大VPN,完成了家里所有电脑上office正版软件的安装。
Arcscan 矢量化过程的小坑
这两周绘制某区的全域旅游全景图,区里提供的底图数据是纸质地图的彩色照片。好在找到了LSV,既能下载最新的百度地图并导出为带地理信息的tif文件,还能直接导出全域旅游要素的地标文件。但是tif文件的清晰度有限,好在又在geofabrik找到了矢量地图数据。因此,底图仅需将tif文件矢量化以补上某条在建的高速公路数据。
参开《ArcScan进行自动矢量化的技术》,矢量化过程第一步是栅格图形二值化,Arcmap选择导入tif的一个band即可,然后在Symbology中自动补数值,选择二值分类;第二步是对栅格图像进行校正和配准,导出的tif文件自带地理位置数据,可以略过。
第三步是创建相应的点线面要素层,这一步没有过多介绍,这就是一个小坑。我开始创建要素层时设置为WGS84,结果矢量化后虽然有数据产生,但是不能与其它WGS84的要素层同比例显示,也不能与tif图同比例显示。试着矢量化后的图层转换坐标系,转换结果是空的图层。解决方法是:创建要素层时设置与tif同样的投影系,矢量化产生的数据能够与tif同比例显示,然后再转换为WGS84。这就算从小坑里爬出来了。
第四步就是Arcscan矢量化的参数设置,设置压缩、平滑等参数值,如果设计面要素,可在栅格清理菜单中选择擦除所选像元,矢量化可选择保存线的宽度等等。
此外,这两周的“干中学”切实体会到了Arcgis与Adobe Illustrator,以及Photoshop的生产力,在ArcGIS中直接将地图导出为.ai文件,然后Adobe Illustrator导入后修改线型、添加文字,修改图例,修改好后导出pdf文件,最后在PS中调整导出图片的尺寸与像素大小。
正则表达式与CSV文件操作
从云班课平台中导出的学生作业为zip文件,解压后是一个作业文件夹,在其中的学生子目录(按学号+姓名命名)中有.html文件。希望将所有学生的答案以csv格式保存、方便对比批阅。正好复习《Python爬虫开发 从入门到实战(微课版)》,稍微改改第3章正则表达式与文件操作的案例代码完成了作业汇总的任务。
import os
import re
# import csv
import pandas as pd
t_dir=r'D:\Users\yuanyujie\Documents\Downloads\旅管本19(1)-旅游研究方法-专业兴趣与问题调查' #指定文件夹
result_list= [] #提取所需到包含字典的列表
for root, dirs, files in os.walk(t_dir):
for s_dir in dirs:
for sub_root, sub_dirs, sub_files in os.walk(os.path.join(root,s_dir)): #遍历子目录与文件
for f_list in sub_files:
if f_list[-4:]=="html":
print(s_dir, f_list)
url=os.path.join(root,s_dir,f_list) #文件绝对路径
print(url)
htmlf = open(url,'r',encoding='utf-8') #打开文件
htmlcont = htmlf.read() #读取文件内容
content_list=re.findall('<span>(.*?)<',htmlcont,re.S) #正则表达式
name_list=s_dir[13:]
num_list=s_dir[:12]
result = {'num':num_list,
'name':name_list,
'content':content_list
}
result_list.append(result) #列表追加元素字典
print(result_list)
df = pd.DataFrame(result_list) #包含字典的列表直接转Dataframe
print(df)
os.chdir(t_dir) #指定工作目录
df.to_csv('test.csv',encoding='ansi') #保存csv文件
# with open('test01.csv','w',encoding='utf-8') as f:
# writer=csv.DictWriter(f,fieldnames=['num','name','content'])
# writer.writeheader()
# writer.writerows(result_list)
if os.path.exists('test.csv'):
print('Done')
else:
print('Try Again')
写代码时碰到两个问题,一是.html文件直接用open命令打开后,还需要read命令读取内容,二是文件默认保存到工作目录,需要指定目录时要用os.chdir()。此外,发现包含字典的列转成Dataframe用一行代码就行,用pandas保存csv也是直接一行代码就行。保存时注意事项是编码需要设为ANSI,用utf-8保存再用Excel打开时中文会显示乱码。
Python批量图片转PDF
LP所教课程的在线期末考试结束,教秘按教学班汇总,试卷照片在教学班文件夹的学生子目录(按学号+姓名+专业+年级+班次命名)中。LP阅卷若直接浏览图片要点击更换目录,这也不方便保存批阅记录。针对以上问题,我用python编程将每个子目录内的图片转pdf,同时以学号+姓名方式保存。最后手工在Acrobat pro中合并,旋转少数横拍的页面,得到每个班级的试卷pdf文件。
在Python中图片转pdf用第三方库pymupdf,第一天用pip或conda直接安装都报错,然后从pypi下载.whl安装也报错。第二天参考《Python将图片转成pdf(高清)论文党用~》输入命令,安装进行一段后还是报错。但是,从安装命令指定镜像得到启发,首先参考《Anaconda安装详解、配置清华镜像和常用命令行集锦》设置镜像,但是conda安装还是出错。于是再改用pip安装.whl文件,依然报错。看到pymupdf文档提示”The wheels are self-contained, i.e. you will not need any other software nor download / install MuPDF to run PyMuPDF scripts.”,于是百度该错误提示,结果发现是版本不对的原因,重新在pypi中下载Python3.7的.whl文件,pip安装成功。以上安装第三方库走了好多弯路。
接下来参考《Python 图片与pdf相互转换》,《python获取某目录下(含子目录)所有文件名称》以及《Python中os.walk函数的用法(遍历文件夹下文件并获得路径)》,写完代码比较顺利的一遍跑通。代码如下:
import os import fitz t_dir=r'E:\教学\资源与环境经济学1802' #指定班级文件夹 for root, dirs, files in os.walk(t_dir): for s_dir in dirs: for sub_root, sub_dirs, sub_files in os.walk(os.path.join(root,s_dir)): print(s_dir[:len(s_dir)-12], sub_files) doc = fitz.open() d_name=os.path.join(root,s_dir[:len(s_dir)-12]) for f_list in sub_files: img_name=os.path.join(root,s_dir,f_list) imgdoc = fitz.open(img_name) # 打开图片 pdfbytes = imgdoc.convertToPDF() # 使用图片创建单页的 PDF imgpdf = fitz.open("pdf", pdfbytes) doc.insertPDF(imgpdf) # 将当前页插入文档 doc.save(d_name + ".pdf") # 保存pdf文件 doc.close()
四个班级中各位学生的试卷照片都在班级文件夹中转换为单独的pdf,再用Acrobat pro合并与旋转调整页面,然后发给LP用福昕阅读器批改。
世界,你好!第一天!
1、上传wp压缩包,由主机控制面板中的文件在线管理自动解压,然后配置数据库,安装成功。
2、尝试直接更改/wordpress目录名为/blog,可查看主页,但是登陆后台时出错,wp小白的第一天。
3、参考http://www.fanicy.com/install_wordpress_in_sub_folder.html,改回目录名并设置根目录访问。