利用Python将选择题、多选题导入Anki

本文仅针对于ios与Win下,安卓下无法正常使用。

效果展示

有计分与答题功能,模板来自anki选择题模板—自动匹配单选多选—Monokai风格—带计分板 - 知乎 (zhihu.com)

利用Python对原题(.doc .txt)进行处理

需要一定Python与Pandas库基础,某些用Word直接导入Excel也可以解决

我的题库格式为

1、商品是(    )
A.用于满足人们需要的劳动产品  B.为市场交换而生产的有用的劳动产品
C.一切物品                    D.一切有用的物品
【正确答案是】:B
2、价值的本质是(    )
A.一般人类劳动       B.抽象劳动      C.具体劳动      D.社会生产关系
【正确答案是】:D
3、一定社会财富的物质内容由(    )
A.使用价值构成    B.交换价值构成
C.价值构成        D.货币构成
【正确答案是】:A
4、价值或交换价值的物质承担者是(    )
A.商品          B.货币        C.价格     D.使用价值
【正确答案是】:D
5、具体劳动和抽象劳动是(    )
A.两种劳动          B.两次劳动
C.两个过程的劳动    D.同一劳动过程的两个方面

Python代码及思路

import reimport pandas as pdfrom io import StringIOf = open('test.txt','r',encoding='utf-8')lm=f.read()#把中文字符括号替换为英文字符括号,2去掉换行符,3去掉空格,4去掉制表符
lm=lm.replace('(', '(').replace(')', ')').replace('\n', '').replace(" ", "").replace("\t","").strip()#在选项A前加逗号
lm1=re.sub('A\.',',A.',lm)#将”【正确答案是】:“替换为,
lm1=re.sub('【正确答案是】:',',',lm1)#在题目号码前加入换行符,题号上限999,若题目超过1000则将'[1-9]?[0-9]?[0-9]、'改为'[1-9]?[0-9]?[0-9]、'
new_string=re.sub('[1-9]?[0-9]?[0-9]、',lambda x:"\r\n"+x.group(0),lm1)#去掉空行
lm2=re.sub('^\r\n','',new_string)
df=pd.read_csv(StringIO(lm2),error_bad_lines=False,header=None)#在选项中添加换行符
for i in range(0,len(df)):df[1][i]=df[1][i].replace("B.","\r\nB.")df[1][i]=df[1][i].replace("C.","\r\nC.")df[1][i]=df[1][i].replace("D.","\r\nD.")#保存文件
df.to_csv('result.csv',encoding='utf-8-sig',index=False,header=None)

利用了部分正则表达式,不熟悉也没关系可以,可以在Jupyter中尝试逐步输出修改。

导出的csv文件应该是下面这样的

**需要注意的是,由于我用的模板的原因必须在答案右列加一列任意的字符当作模板中“remark”列。**当然remark列也可以自己输入题目的提示的。

我是直接用Excel插入了一列1。

也就是下图这样

下载并导入模板

下载网址:选择题-自动匹配单选多选模板.zip - 蓝奏云 (lanzouv.com)

如果已安装电脑版Anki,解压后双击即可导入模板,导入后牌组可以删除,模板已自动保存。

将得到的csv导入Anki

新建牌组导入即可

模板选下图所示的模板

引用

anki使用之选择题批量导入-用python处理 - 简书 (jianshu.com)

anki选择题模板—自动匹配单选多选—Monokai风格—带计分板 - 知乎 (zhihu.com)

利用Python将选择题、多选题导入Anki相关推荐

  1. 利用Python爬虫网站数据直接导入mysql数据库中

    说明: 可能经常出现要爬取某个网站的数据,这时候需要利用爬虫技术来完成,这块主要使用Python来实现. 如何搭建Python环境我上节文章有详细描述:使用Python3.7实现爬虫技术,获取自己想要 ...

  2. 【Pyhton+Excel】利用Python把Excel的数据导入并且绘图

    首先使用pandas库中的read_excel()函数从Excel文件中读取数据,并将其存储在data变量中.然后,我们从data变量中提取需要绘制的列,并将其分别存储在x和y变量中.最后,使用mat ...

  3. mysql数据导入python_利用python将mysql中的数据导入excel

    原博文 2017-06-29 13:29 − Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 如下分别利用xlwt和openpyx ...

  4. 怎么用python找论文_如何利用Python绘制学术论文图表方法

    论文中图表形式多样,常用的处理工具有excel.MATLAB以及Python等,excel自处理的方法有两个缺陷: 1.当数据较多时,容易出现excel"翻白眼"的现象: 2.需要 ...

  5. python用渐变色画圆_利用python控制Autocad:pyautocad方式

    发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...

  6. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  7. 利用Python模拟鼠标自动完成MM32-LINK程序下载

    简 介: 编写了利用Python控制MM32-LINK自动下载程序,这可以减少在开发过程中的操作. MM32-LINK在打开程序过程中,对话框的标题出现错误,"Load form file& ...

  8. pyqt5如何循环遍历控件名_利用Python的PyQt5编写GUI界面教学,QT5还是比较难的

    由于学校课程的项目,最近最近在学习如何利用Python语言和SQL Server编写一个读者图书借阅.查询管理的小程序.以此为契机吧,自己便开始了学习之路~ 这篇文章主要介绍自己如何使用PyQt5编写 ...

  9. python表白代码照片墙-python入会生成照片墙 利用python生成照片墙代码

    本篇文章小编给大家分享一下利用python生成照片墙代码,对大家的学习有一定的帮助,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. PIL(Python Image Libr ...

最新文章

  1. 进击的Python【第一章】:Python背景初探与Python基础(一)
  2. Byte和bit的区别?
  3. mysql 从数据库配置文件_mysql数据库配置文件
  4. Trie 树——搜索关键词提示 1
  5. 使用SQL Server 发送邮件
  6. 使用Python扩展库spleeter分离MP3音乐文件中的伴奏和人声
  7. android电视原理图,电视机工作原理
  8. 【论文】基于特定实体的文本情感分类总结(PART II)
  9. [翻译]NUnit---Explicit and Ignore Attributes(十二)
  10. 删除cortana_如何从Windows 10任务栏中删除Cortana
  11. 史上最简单的图片二维码识别
  12. 【深度学习】步态识别-论文阅读:(T-PAMI-2021)综述:Deep Gait Recognition
  13. 神经网络的类型分类和结构理解
  14. SQL SERVER【非域环境】镜像之搭建篇
  15. 绿色环保简约风格PPT模板
  16. 图像处理滤波器(一)——均值滤波器(Mean Filter)
  17. Mybatis-plus一键生成代码(踩坑记录,用了3种方式)
  18. 电商项目1、后端环境搭建
  19. STL源码学习(2)-迭代器概念与traits编程技法
  20. 人工智能研究的基本内容

热门文章

  1. Telnet 服务 开启 步骤
  2. activiti学习(二十一)——流程虚拟机源码分析(三)——从进入到离开userTask
  3. linux 键盘测试程序员,程序员之家打字测试
  4. redis 在java中的实例使用场景
  5. 导航条动态模糊效果实现原理实战
  6. MySQL中使用UUID()函数生成主键
  7. RabbitMQ双节点集群搭建
  8. 【每日一题】JVM篇-年轻代到年老代的晋升过程的判断条件是什么呢
  9. 阿里云 PAI 免费试用搭建 stable-diffusion-WebUI
  10. HTML给表单元素赋值,JQuery表单元素取值赋值方法总结