精华内容
下载资源
问答
  • xlrd模块xlrd是python中一个第三...安装xlrdpip install xlrdexlce结构分析个excle表格包含多个sheet个sheet包含多行多列个单元格具备唯一行号和列号常用函数import xlrd# 读取文件work_book = xlrd.open...

    xlrd模块

    xlrd是python中一个第三方的用于读取excle表格的模块,很多企业在没有使用计算机管理前大多使用表格来管理数据,所以导入表格还是非常常用的!

    安装xlrd

    pip install xlrd

    exlce结构分析

    一个excle表格包含多个sheet

    一个sheet中包含多行多列

    每个单元格具备唯一的行号和列号

    09526a79e19c30fd9175adb51fc010f0.png

    常用函数

    import xlrd# 读取文件work_book = xlrd.open_workbook("/Users/jerry/Desktop/公司机密数据.xlsx")# 选取一个表# 获取所有所有表格名称print(work_book.sheet_names())# 选择第2个 索引从0开始sheet = work_book.sheet_by_index(1)# 表格名称print(sheet.name)# 行数print(sheet.nrows)# 列数print(sheet.ncols)#批量读取行数据# 取出第6行的全部内容包含数据类型print(sheet.row(6))# 取出第6行的内容包含数据类型 从第3列开始获取print(sheet.row_slice(6,start_colx=3))# 取出第6行的内容包含数据类型 从第3列开始获取print(sheet.row_slice(6,start_colx=4,end_colx=5))# 获取该行所有数据类型 一数字表示# print(sheet.row_types(6))# print(sheet.row_values(6))# 单元格的处理print(sheet.cell(0,0).value) # 取值print(sheet.cell(0,0).ctype) # 取类型print(sheet.cell_value(2,0)) # 直接取值print(sheet.row(0)[0]) # 先取行再取单元格print(sheet.col(0)) # 第0列所有数据print(sheet.col(0)) # 先取列再取单元格print(sheet.cell_type(0,0))# 单元格位置转换print(xlrd.cellname(2,1))print(xlrd.cellnameabs(0,2))print(xlrd.colname(5))# 时间类型转换# print(sheet.cell(6,5).value)# print(xlrd.xldate_as_datetime(sheet.cell(6,5).value,1))

    案例:

    读取一个报价单 其第二个sheet包含合并单元格

    文件地址: https://share.weiyun.com/5GaLY2m

    import xlrdsheet = xlrd.open_workbook("报价单.xlsx").sheet_by_index(1)def get_text(row,col): # 判断该坐标是否是被合并的单元格 合并单元格的数据都在合并区域的第一个位置 for ces in sheet.merged_cells: if (row >= ces[0] and row < ces[1]) and (col >= ces[2] and col < ces[3]): return sheet.cell(ces[0],ces[2]).value # 取出合并区域的第一个数据 return sheet.cell(row,col).value #正常取出对应数据keys = sheet.row_values(1) # 获取所有的列标题data = []for row in range(2,sheet.nrows): dic = {} for col in range(sheet.ncols): k = keys[col] #确定key res = get_text(row,col) dic[k] = res # 确定值 并存储 data.append(dic)print(data)# 序列化为jsonimport jsonjson.dump(data,open("test.json","wt"),ensure_ascii=False)

    xlwt模块

    是python中一个第三方的用于写入excle数据到表格的模块

    用代码来编写exlce是非常低效的 所以该模块了解即可。

    import xlwt# 创建工作簿work = xlwt.Workbook()# 创建一个表sheet = work.add_sheet("员工信息数据")#创建一个字体对象font = xlwt.Font()font.name = "Times New Roman" # 字体名称font.bold = True # 加粗font.italic = True # 斜体font.underline = True # 下划线#创建一个样式对象style = xlwt.XFStyle()style.font = font# 写入标题for k in keys: sheet.write(0,keys.index(k),k,style)# 写入数据for i in infos: for k in keys: sheet.write(1 + infos.index(i),keys.index(k),label = i[k])# 保存至文件work.save("test.xls")

    面试题:

    1440a43aa2524740f0f4fe5a6357322b.png
    import xlrdimport pymysql# 读取文件work_book = xlrd.open_workbook("/xxx/xxx.xlsx")# 选取一个表sheet = work_book.sheet_by_index(0)# 遍历表格数据datas = []for row in range(1,sheet.nrows): temp_list =[] for col in range(sheet.ncols): value = sheet.cell_value(row,col) temp_list.append(value) datas.append(temp_list)# 打开数据库连接db = pymysql.connect(host='localhost', port=3306, user='username', passwd='password', db='database_name', charset='utf8')# 使用cursor()方法获取操作游标cursor = db.cursor()# SQL 插入语句sql = "INSERT INTO SHOP(shop_code, shop_name, month) VALUES (%s,%s,%s)"try: # 执行sql语句 cursor.executemany(sql, datas) # 提交到数据库执行 db.commit()except : # 如果发生错误则回滚 db.rollback()# 关闭游标cursor.close()# 关闭数据库连接db.close()
    展开全文
  • 这一表格(如图1所示)包括了26行字母表,每一行都由一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行过程会不断地变换。 例如,假设明文为: ATTACKATDAWN 选择某一关键词并重复而...

    为了生成密码,需要使用表格法。这一表格包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。

    #define _CRT_SECURE_NO_WARNINGS
    
    #include <stdio.h>
    #include <malloc.h>
    
    typedef struct Node
    {
    	char data;
    	Node* prior;
    	Node* next;
    }*SLink;
    
    void init(SLink* l)
    {
    	SLink t, q;
    
    	*l = (SLink)malloc(sizeof(Node));
    	q = *l;
    	q->data = 'A';
    	for (int i = 1; i < 26; i++)
    	{
    		t = (SLink)malloc(sizeof(Node));
    		t->data = 'A' + i;
    		q->next = t;
    		t->prior = q;
    		q = t;
    	}
    
    	q->next = *l;
    	(*l)->prior = q;
    }
    
    char encryption(char y,char m, SLink t)
    {
    	while (t->data != m)
    	{
    		t = t->next;
    	}
    
    	int i = (int)y - 65;
    	while (i--)
    	{
    		t = t->next;
    	}
    
    	return t->data;
    }
    
    char decrypt(char y, char m, SLink t)
    {
    	char ts;
    
    	while (t->data != m)
    	{
    		t = t->next;
    	}
    
    	ts = 'A';
    	while (t->data != y)
    	{
    		t = t->next;
    		ts++;
    	}
    
    
    	return ts;
    }
    
    
    int main()
    {
    	SLink l;
    	int n = 0;
    
    	char pri[100];
    	char key[100];
    
    	init(&l);
    
    	while (true)
    	{
    		printf("选择解密还是加密(1为加密,其他为解密):");
    		scanf("%d",&n);
    
    		if (n == 1)
    		{
    			printf("请输入明文:");
    			scanf("%s", &pri);
    			printf("请输入秘钥:");
    			scanf("%s", &key);
    			printf("密文为:");
    			for (int i = 0; pri[i]; i++)
    			{
    				printf("%c", encryption(pri[i],key[i],l));
    			}
    			printf("\n");
    		}
    		else
    		{
    			printf("请输入密文:");
    			scanf("%s", &pri);
    			printf("请输入秘钥:");
    			scanf("%s", &key);
    			printf("明文为:");
    			for (int i = 0; pri[i]; i++)
    			{
    				printf("%c", decrypt(pri[i], key[i], l));
    			}
    			printf("\n");
    		}
    	}
    	
    	return 0;
    }
    
    
    展开全文
  • 这一表格(如图1所示)包括了26行字母表,每一行都由一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行过程会不断地变换。 例如,假设明文为: ATTACKATDAWN 选...

    维吉利亚密码

    在这里插入图片描述

    在一个凯撒密码中,字母表中的每一字母都会作一定的偏移,例如偏移量为3时,A就转换为了D、B转换为了E……而维吉尼亚密码则是由一些偏移量不同的恺撒密码组成。
    为了生成密码,需要使用表格法。这一表格(如图1所示)包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。
    在这里插入图片描述
    例如,假设明文为:
    ATTACKATDAWN
    选择某一关键词并重复而得到密钥,如关键词为LEMON时,密钥为:
    LEMONLEMONLE
    对于明文的第一个字母A,对应密钥的第一个字母L,于是使用表格中L行字母表进行加密,得到密文第一个字母L。类似地,明文第二个字母为T,在表格中使用对应的E行进行加密,得到密文第二个字母X。以此类推,可以得到:
    明文:ATTACKATDAWN密钥:LEMONLEMONLE密文:LXFOPVEFRNHR
    解密的过程则与加密相反。例如:根据密钥第一个字母L所对应的L行字母表,发现密文第一个字母L位于A列,因而明文第一个字母为A。密钥第二个字母E对应E行字母表,而密文第二个字母X位于此行T列,因而明文第二个字母为T。以此类推便可得到明文。
    用数字0-25代替字母A-Z,维吉尼亚密码的加密文法可以写成同余的形式:
    在这里插入图片描述
    解密方法则能写成:
    在这里插入图片描述
    ---------------------------------来自百度------------------------------------------

    package cryptology;
    import java.util.Scanner;
    public class vigenere {
    public static void main(String []args)
    {
    	int stop=1;
    	System.out.println("*******************************Vigenere**********************************");
    	System.out.println("                            Vigenere密码加解密                                                                                   ");
    	System.out.println("加密:0");
    	System.out.println("解密:1");
    	System.out.println("*******************************Vigenere**********************************");
    	while(stop==1)
    	{
    		String text;
    		String key;
    		int[]mediume=new int [100000];
    		int base=97;
    		int M;
    	   System.out.println("Please select 加密 or 解密:");
    	   int select;
    	   Scanner input0=new Scanner(System.in);
    	   select=input0.nextInt();
    	   System.out.println("Please input your text:");
    	   Scanner input=new Scanner(System.in);
    	      text=input.nextLine();
    	   System.out.println("Please input your key:");  
    	      Scanner input1=new Scanner(System.in);
    		   key=input1.nextLine();
    		   if(text.charAt(0)<97)
    			   base=65;
    		   if(select==0)
    			   M=encrypt(text,key,mediume,base);
    		   else
    			   M=decode(text,key,mediume,base);
    		   System.out.println("Please select daxiezimu or xiaoxiezimu ,press(0/1):");
    		   Scanner input2=new Scanner(System.in);
    		   select=input2.nextInt();
    		   if(select==0)
    			   base=65;
    		   else base=97;
    		   for(int j=0;j<M;j++)
    		   {
    			   char A=(char) ((char)mediume[j]+base);
    			   System.out.print(A);
    		   }
    		   
    		   System.out.println("\npress 1 to continue,press 0 to stop:");
    			Scanner input4=new Scanner(System.in);
    		   stop=input4.nextInt();
    		}
    	}
    public static int encrypt(String text,String key,int []medium,int base)
    {
    	int k=0;int keypoint=0;
    	for(int i=0;i<text.length();i++)
    	{
    		if(text.charAt(i)==' ')
    		continue;
    		keypoint=k%key.length();
    		medium[k++]=(text.charAt(i)-base+key.charAt(keypoint)-97)%26;
    	}
    	return k;
    }
    public static int decode(String text,String key,int []medium,int base)
    {
    	int k=0;int keypoint=0;
    	for(int i=0;i<text.length();i++)
    	{
    		if(text.charAt(i)==' ')
    		continue;
    		keypoint=k%key.length();
    		medium[k++]=(text.charAt(i)-base-key.charAt(keypoint)+97+26)%26;
    	}
    	return k;
    }
    }
    
    
    展开全文
  • markdown使用

    2020-10-27 16:27:09
    *一级标题 标题前加几个星号就代表几级标题 ...列与列之间用符号“|”隔开,表格每一行的两边也要有符号“|”。 数学公式编辑:LaTeX 是写科研论文必备工具, Markdown 单元也可以使用 LaTeX 来插入数学公式

    *一级标题

    在标题前加几个星号就代表几级标题

    加粗
    》要加粗的文字左右分别用两个
    号包起来
    斜体
    》要倾斜的文字左右分别用一个
    号包起来
    斜体加粗
    》要倾斜和加粗的文字左右分别用三个
    号包起来
    *删除线
    》要加删除线的文字左右分别用两个~~号包起来

    表格:代码的第一行表示表头,第二行分隔表头和主体部分,从第三行开始,每一行代表一个表格行;列与列之间用符号“|”隔开,表格每一行的两边也要有符号“|”。

    数学公式编辑: Markdown 单元中也可以使用 LaTeX 来插入数学公式。
    在文本行中插入数学公式,应在公式前后分别加上一个“” 符号 如果要插入一个数学区块,则在公式前后分别加上两个“$”符号。

    展开全文
  • 我们关注,总内存,空闲内存,缓冲和缓存大小 计算内存占用量公式: (总内存-空闲内存-缓冲-缓存)/1024Mb 代码呼之欲出 monitor.py 用with打开文件,可以自动关闭࿰...
  • PLSQL Developer 8.0.3.1510 简体中文绿色破解版

    万次下载 热门讨论 2010-07-15 16:36:07
     性能优化——使用PL/SQL Profiler,可以浏览每一执行PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQL和PL/SQL代码性能。  更进一步,您还可以自动获取所执行SQL语句和PL/SQL程序统计信息。该...
  • 有关jquery一些东西

    2018-12-04 10:41:35
    需求:后台拿到数据,前台datagrid呈现,条数据前加复选框,表格最下面一行增加合计,点击选中一条数据就进行合计操作。 我想法:本来准备画好表格以后,再页面上加一行,后来发现datagrid有&lt;tfoot&...
  •  实例203 隐藏应用程序任务栏中的图标 272  实例204 实现动态系统托盘图标 272  实例205 实现气泡提示窗口 275  实例206 从桌面右下角显示的Popup窗口提醒 276 实例207 设置可执行文件的生成图标 278 ...
  • excel使用

    2012-11-25 17:06:01
    (7) 单元格中显示公式如果工作表中的数据多数是由公式生成的,想要快速知道个单元格中的公式形式,以便编辑修改,可以这样做:用鼠标左键单击“工具”菜单,选取“选项”命令,出现“选项”对话框,单击“视图...
  • 一个大表每一行下面需要加一行空行,怎么加最方便 Excel中插入空白行 快速删除工作表中的空行快速删除空行一次删完Excel里面多出很多的空白行 每30行为一页并加上一个标题如何实现如何实现隔行都加上标题项 如何把...
  • 9.3.5 幻方 (20分)

    2020-06-11 22:43:22
    《射雕英雄传》郭黄二人被裘千仞追到黑龙潭,躲进瑛姑小屋。...每一个数存放行比一个数行数减1,列数1。 3)如果行列范围超出矩阵范围,则回绕,例如1第1行,则2应放在最后一行,列数同样1。
  • 在表格中时支持批量转换。 小数转百分比 将带有小数的值转换成百分比形式,支持批量转换。 计算表达式 将表达式转换成计算结果,支持批量转换。 千分位分隔符 对整数大于3位的数值批量添加千分位分隔符。段落中的值...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    一个大表每一行下面需要加一行空行,怎么加最方便 Excel中插入空白行 快速删除工作表中的空行快速删除空行一次删完Excel里面多出很多的空白行 每30行为一页并加上一个标题如何实现如何实现隔行都加上标题项 如何把...
  • 可以在表格内自由画线和擦线,加入表题和表体,表体内可以灌入各种数据库数据,表格可自动填充数据,表格数据可以生成直观醒目图表,如折线图或圆饼图。表内数据计算有 10多种运算公式,您甚至可以用自定义算式...
  • 131.删除表格中使用范围内所有空白单元格 132.返回数组中有多少个指定字符串 133.返回当前工作表中引用了指定单元地址 134.获取Excel中字型列表 135.获取个字符串中有多少个数字字符 136.Excel中对多列...
  • Excel新增工具集

    2011-12-20 09:30:27
    4、工资条(成绩条)群发到个人文件夹:现在许多单位的个人信息都存放服务器中由职工通过FTP查看,本软件能将同个工作表中的每行记录(工资条)另存为同名的个人文件夹中,并统一改名。例如:存到[独立]文件夹中...
  • LINGO软件学习

    2009-08-08 22:36:50
    雇员集中的每位雇员可以有个薪水属性,也可以有个生日属性等等。 LINGO有两种类型的集:原始集(primitive set)和派生集(derived set)。 个原始集是由一些最基本的对象组成的。 个派生集是用个或多个其它...
  • 函数作用:从右边开始查找指定字符字符串中的位置...43 '15.函数作用:从右边开始查找指定字符字符串中的位置...44 '16.函数作用:计算工龄.................................44 '17.函数作用:计算日期差,除去星期...
  •  性能优化——使用PL/SQL Profiler,可以浏览每一执行PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQL和PL/SQL代码性能。  更进一步,您还可以自动获取所执行SQL语句和PL/SQL程序统计信息。该...
  • 执行下列编辑操作:在表格中的最后插入列,并以表中原有内容的字体、字号和格式添加下列内容:四季度、19、、18、20,并将总计列的数值作相应的调整,添加完成后将表格外框线改为1/2磅单实线,内框线改为3...
  • ,我们主要是了解一下 Linux 概况,以及对 Linux 有个初步感性认识。 .什么是Linux? Linux 是个以 Intel 系列 CPU(CYRIX,AMD CPU也可以)为硬件平台,完全免费 UNIX 兼容系统,完全...
  • 其实前面介绍图片显示、图片链接时候为了清晰就是放在在表格中显示。 图片 描述 百度 表情 GithubMarkdown语法支持添加emoji表情,输入不同符号码(两个冒号包围字符)可以显示出不同表情。...
  • 其实前面介绍图片显示、图片链接时候为了清晰就是放在在表格中显示。 图片 描述 百度 表情 GithubMarkdown语法支持添加emoji表情,输入不同符号码(两个冒号包围字符)可以显示出不同表情。...
  • 表格编号作法与图相同,唯一不同是表格题注在表格上方,且要求左对齐。 公式编号略有不同,插入公式后,将公式单独放在个段落,版式为“嵌入式”(Word默认),光标放在公式之后,不要(注意是“不要”...
  • 实例303 将某文件夹中的文件进行分类存储 实例304 指定目录下搜索文件 实例305 网络文件夹备份 12.2 文件的压缩与解压缩 实例306 压缩所有文本文件 实例307 压缩包解压到指定文件夹 实例308 压缩所有子...
  • javascript函数解释

    2011-02-26 11:03:52
    84.JS中的模态显示IE4+,NN中不行:showModalDialog("URL"[,arguments][,features]); 85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue= "we really like you and hope you will stay ...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    4.用标题1,2,3分别去定义文中的每一章节 4 四、如何自动生成目录? 6 五、奇偶页显示不同内容 7 六、页眉中显示章编号及章标题内容 7 七、修改页眉中的划线格式 7 八、页眉和页脚中插入章节号和标题 8 九、...
  • 他认为对于SQL学习是永无止境,相信每一个查询Oracle数据库人都需要精通SQL语言,才能写出高效查询。他参与本书编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7...
  • 他认为对于SQL学习是永无止境,相信每一个查询Oracle数据库人都需要精通SQL语言,才能写出高效查询。他参与本书编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7...
  • 个商品最多五个配件(2008之前版本此功能名称为“套装”) 14)商品页面搜索引擎优化 15)商品评论功能:客户可以发表针对具体商品评论或提问,管理员可以回复 管理员可以设置客户发表评论后直接显示...

空空如也

空空如也

1 2 3 4 5
收藏数 84
精华内容 33
关键字:

在表格中的每一行前加一行