Python的基本操作(持续更新中)

写在前面

发现Python中有一些内容还是比较经常被使用到的。这里,我将Python的常见的基本操作写到这里,以防止自己遗忘掉。

一、文件的常见操作

1.1 普通文件的操作

       值得注意的是,对于普通文件而言,文件的操作只需要使用python本身有的库就能够满足,因此,书写这部分的时候,只需要直接使用则可。不过你也可以通过其它方式实现文件的基本操作,只是我觉得,这样的代码应该是最能够快速进行开发以及使用的

1.1.1常用的文件对象的获得:

       虽然你可以将这些参数修改为其它的参数,但在实际的开发过程中,下面两行确实是很常用的,必须关注的是,以下列的方式进行写入文件的时候,写入的内容将会覆盖文件的内容,而并非是追加的方式,如果你想将文件写入到Log之中,你可以选择使用参数"a" 。几种方式各自都有自己的好处,使用的时候依据对应的需求即可。

file = open("file_url", "r", True)					# File读取对象的获取方式
file = open("file_url", "w", encoding="UTF-8")		# 带写入对应编码模式的写入文件打开的对象的获取方式
file = open("file_url", "a", encoding="UTF-8")		# 以追加的方式读写文件的文件类
1.1.2 File的文件写入

       写入文件,有两种方式:一种是覆盖,另一种则是追加。使用是方式是同样的,而两者的区别在于File对象的声明详见上面一个小节(1.1.1)。下面的函数,则是做该操作用到的方法。

file.writelines(str)								# 以行的方式写入文件
file.write(str)										# 以写的方式写入文件

       很奇怪,这两个方法在实际测试的时候结果是一样的,都能写入,而行写入也是并非是新起一行,因此,在我看来两者没有太多的区别。

1.1.3 File的文件流关闭

       强调一下,每一次open一下File对象,都需要close一下。下面是关闭文件流的代码:

file.close()										# 关闭文件流的方法

       注意一下:你可以连续两次写入文件,而在最后再关闭文件流,这样,最终的结果是前后两次写入内容的追加===> 具体还是需要亲自操作一下吧!

1.2 Excel文件的操作

       制作Python工具,其最大的用途,往往是它能够再短时间内处理大量的数据,以确保人为干预过程中导致的问题。对于公司内部的数据,大部分使用的都是Excel文件,因此,这一部分,也是Python中的重中之重。而这一部分,讲述的是Excel文件的处理。

需要导入的模块为xlrd和xlwt,用于Excel文件的读取也写入的很重要的文件

1.2.1 Excel数据的获取

这里Excel的基本知识就不讲了,需要知道WorkBook,Sheet页,行,列,以及索引等基本概念

import xlrd										# 引入读的对象
wkbook = xlrd.open_workbook(r"File_URL")		# 依据路径找到这个工作薄的workbook对象
sname = wkbook.sheet_names()					# 得到工作薄中所有sheet的名称 ==>返回值为字符串列表
sheet = wkbook.sheet_by_index(n)				# 依据索引来得到对应的sheet对象
sheet = wkbook.sheet_by_name("name")			# 依据工作薄名称得到对应的sheet对象
sname = sheet.name								# 得到该sheet页的名称
nrow = sheet.nrows								# 得到该sheet页的行数
ncol = sheet.ncols								# 得到该sheet页的列数
rows = sheet.row_values(n)						# 获取某一行数据列表
cols = sheet.col_values(n)						# 获取某一列数据列表
cell = sheet.cell(i,j)							# 得到i-1行j-1列的单元格对象
val = cell.value.encode("UTF-8")				# 得到转码后的单元格值
style = cell.ctype								# 得到该单元格的数据类型
val = sheet.cell_value(i,j).encode("UTF-8")		# 得到i-1行j-1列的单元格的值

其中style会返回的值为数字, 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

       但是当类型为date也就是单元格的值为3的时候,返回的值为一个浮点数,其实它确实代表的是时间
       而这个时候,我们需要使用下面的函数进行时间的处理

xlrd.xldate_as_tuple(cell,wkbook.datemode)				# 注意第一个参数为单元格,第二个参数是workbook的一个属性值
# 会返回一个类似于(2020, 4, 4, 0, 0, 0)一个值   其实就是年月日时分秒
date(Y,m,d).strftime('%Y/%m/%d')						# 格式化时间的一个date的方法使用这种方法,就能够格式化输出时间
1.2.2 Excel单元格合并需要注意的读取问题

这里很坑,因为涉及到单元格合并,只能以该单元格的左上角才会有该值,其它的地方,涉及到单元格的,都会读空,所以,写算法的时候万万需要注意一下。

1.2.3 单元格样式的获取

这个也是一个比较尴尬的事情,因为如果想获取单元格的样式====>其实是一件相当麻烦的事情,其实笔者也没有搞懂这件事,不过没有关系,这一部分暂时预留再这里,当有一天找到了正解的话,这里会更新出来的。

1.2.4 Excel数据的文本写入

Excel的写入需要引入xlwt模块,笔者想把Excel单元格的设置放在一个单独的小结进行关键函数罗列,而这一部分,主要罗列Excel文本的基本写入。

import xlwt									# 引入xlwt模块  就是Excel写入模块
wkbook = xlwt.Workbook(encoding='utf-8')	# 以对应的编码模式创建Excel写入对象  ===>这里没有写任何路径,所以没保存,OK!
sheet == wkbook.add_sheet("sheet_name", cell_overwrite_ok=True)		# 再wkbook中新建一个名为sheet_name的Sheet对象
sheet.write(x,y,"str")						# 将str写入进x行y列的sheet对象中  【行列从0开始数起】
sheet.write_merge(x1,x2,y1,y2,"str")		# 以写入的方式进行单元格合并,合并的是从x1-x2合并行数,y1-y2合并列数 【从0数起】
wkbook.save(path)							# 将当前工作保存到Path路径中,注意路径到excel之中才行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值