python文本处理函数,python 处理文本内容

python文本训练后怎么用

1.我们可以把文件想象成一个仓库;可以供我们操作使用

舞钢网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

打开文件并且创建对象;

对该文件内容进行 读取 写入 删除 修改等操作

关闭并且保存登录后复制

2.常用操作函数

open()函数打开文件并创建对象

参数:

路径信息(如果不在当前路径下;需要使用绝对路径进行定位)

打开方式:

r 默认读模式如果文件不存在则抛出异常

w 写入模式;使用该模式会清空文本中原有的内容 如果该文件不存在则会创建

x 它也是写入模式;如果该文件存在则会抛出异常

a 它是对文件进行追加;不会覆盖文件的原始内容

encoding参数指定该文本的编码格式

colse()使用该函数进行关闭我们创建的文件对象

也可以使用with模式进行操作文件;这样我们就不会忘记使用close函数关闭文件了

with open('python.txt','r',encoding='utf8') as filename:

print(filename.read())

print(filename.read())

# 抛出异常信息 ValueError: I/O operation on closed file. 这是因为我们调用的文件对象已经关闭了

3.测试文件是否可读:

readable() 测试创建的文件对象是否可读;它的返回值是False 和 true我们可以利用这个函数进行判断该文件是否可读

wireable()测试文件时候可写

filename = open('python.txt','r',encoding='utf8')

aa = filename.readable()

print(aa) # 输出打印true 证明这个文件是可读的

4.针对文件对象进行操作的函数

read()函数读文件中所有的内容

readline()读取文件一行的内容也可以 读取该行的指定参数

readlines()读取文件中的内容添加到列表中去;换行用\n代替

也是可以使用for循环进行输出文件中的内容

filename = open('python.txt','r',encoding='utf8')

print(filename.readline(4))

filename.close()

# 如果我们不关闭该对象的话;使用readline()读取的4个长度是不会被读取的

filename = open('python.txt','r')

for line in filename:

print(line)

5.异常处理

如何处理异常:通过异常处理可以发现错误所在

异常处理结构: try except

另一种处理异常结构:

try: except: else: 如果try抛出异常则执行except代码;反之执行else中的代码

try: except: finally: finally中的代码是必执行的

例如上面调用的with操作文件报异常我们就可以使用它进行处理异常进行回显

try:

with open('python.txt','r',encoding='utf8') as filename:

print(filename.read())

print(filename.read())

# 抛出异常信息 ValueError: I/O operation on closed file.

except:

print('文件对象已经被关闭') # 输出文件对象已经被关闭

Python 数据处理(三十六)—— 文本数据处理(续)

可以使用 [] 符号直接按位置进行索引,如果索引超过字符串的长度,结果将是 NaN

在 0.23 版本之前, extract 方法的参数 expand 默认为 False 。当 expand=False 时, expand 会根据正则表达式模式返回一个 Series 、 Index 或 DataFrame

当 expand=True 时,它总是返回一个 DataFrame ,这种方式更加符合用户的需求,从 0.23.0 版本开始就是默认的

extract 方法接受一个至少包含一个捕获组的正则表达式

如果是包含多个组的正则表达式将返回一个 DataFrame ,每个捕获组是一列

未匹配的行会填充 NaN ,可以从混乱的字符串序列中提取出有规则的信息。

对于命名分组

对于可选的分组

注意 :正则表达式中的任何捕获组名称都将用作列名,否则将使用捕获组号

如果 expand=True ,则返回一个 DataFrame

如果 expand=False ,则返回一个 Series

对于索引,如果 expand=True ,且只有一个捕获组则返回一个只有一列的 DataFrame

此时,如果 expand=False 将会返回一个 Index

对于索引,正则表达式设置多个分组将返回 DataFrame

如果 expand=False 将会抛出 ValueError 异常

对于 extract 只返回第一个匹配项

与 extract 不同, extractall 方法返回每个匹配项,其结果始终是具有 MultiIndex 的 DataFrame 。

MultiIndex 的最后一级名为 match ,标示的是匹配的顺序

对于只有一个匹配的 Series

extractall(pat).xs(0, level='match') 与 extract(pat) 的结果一致

Index 也支持 .str.extractall ,它返回一个 DataFrame ,其结果与 Series.str 相同。

您可以检查字符串元素中是否包含正则匹配模式

或者字符串元素是否与模式匹配

而在 1.1.0 版本中

注意 :

match 、 fullmatch 和 contains 之间的区别是:

这三个函数于 re 模块的 re.fullmatch 、 re.match 和 re.search 对应

像 match , fullmatch , contains , startswith 和 endswith 有一个额外的 na 参数,用于将缺失值替换为 True 或 False

您可以从字符串列中提取指标变量。例如,如果使用 '|' 分隔的字符串

字符串 Index 也支持 get_dummies ,它返回一个 MultiIndex

python操作文本文件

在磁盘上读写文件之前,必须先打开这个文件。打开文件就需要提供文件的路径。

在与Python程序同一个目录下,我们有一个名为 pi.txt 的文件,它的内容如下:

现在使用Python来打开和关闭它:

执行此程序不会有任何输出,这表示着打开和关闭文件都得到了正确执行。

可以看到,使用 open() 函数打开文件,参数为文件名(或文件路径);该函数会返回一个文件句柄,文件句柄并不会实际保存文件的内容,而是代表着一种操作,在上面的例子中,文件句柄被赋值给变量 fhand 。

打开文件后,程序具有读(默认)该文件的权限。

最后,使用文件句柄的 close() 方法关闭文件。这非常重要,因为使用完而没有关闭的文件会占用内存或造成安全问题。

如果Python找不到该文件,则会返回错误,比如下面这样:

Python提示我们没有相应的文件或者目录: 'pii.txt'。

打开文件后就可以对文件进行操作:

fhand.read() 方法将文件内容作为一个字符串返回。

文件中的每一行末尾使用换行符 \n 表示换行,例子中方法 rstrip() 去掉文本中的换行符,然后输出。

程序的运行效果如下:

如果在文件关闭之前程序发生BUG意外退出,则文件不会关闭,为了避免此类事件的发生,可以使用 with 语句:

with 语句的特点是即便在操作文件时发生错误,文件也会自动被清理。

fhand.read() 虽然可以读取文本内容,但是当我们想要逐行处理文件内容,或者文件很大而无法一次性加载进内存的时候,就不适用了。

可以使用 for 语句逐行处理文件内容:

本程序中将文件名保存在变量 filename 中。

打开文件后,使用 for 语句按行读取文件内容。例子中,每次循环依次取一行文本以字符串的格式保存在变量 line 中,每次循环中变量 count 自增1。

这个程序的作用是,打开程序所在目录的 when_old.txt 文件,然后统计行数,并输出结果。

when_old.txt 文件的内容是:

可以使用其他方法操作字符串 line :

程序将以 'And' 开头的行打印出来。

打开文件后,默认的权限是读(r),如果要写文件,则需要使用写(w)或者追加(a)权限。

w权限,打开一个文件用于写入。如果该文件存在,则覆盖该文件;如果该文件不存在,则创建该文件。

a权限,打开一个文件用于追加。如果该文件存在,在文件末尾追加;如果该文件不存在,则创建该文件。

下面是一个使用w权限打开文件的例子:

例子中使用w权限打开该文件,并写入两行。(如果该文件存在,则内容会被覆盖)

fhand.write() 不会自动添加换行符,所以如果需要换行,需在末尾添加 \n 。

下面我们写一个统计文件中词频的程序。

它会统计文件中各个词的出现的次数,然后由高到低显示出前5个词。

首先我们完成打开和关闭文件的程序内容:

在例子中,由用户输入文件名,并且使用异常捕获以处理文件打开时的错误。

下面对内容进行统计:

这个程序:

如此,我们就在字典中存放了 单词:次数 的键值对。

由于字典不能保存顺序,所以不能对其进行排序。为此,将每个键值对都添加到一个列表中:

在列表 word_list 中,每一项都是一个元组,每个元组第一个值是单词出现的次数,第二个值是单词内容。

对其进行逆向(由大到小)排序:

打印最终结果:

整个程序如下:

下面是程序运行结果的示例:


文章名称:python文本处理函数,python 处理文本内容
分享地址:http://scjbc.cn/article/phchch.html

其他资讯