Python数据分析字符串常见处理

        字符串是 Python 中的另一种基本数据类型。它通常是指人类可以阅读的文本,你可以这 么理解。但更广泛地说,它是一个字符序列,并且字符只有在组成这个序列时才有意义。 很多商业应用中都有字符串类型的数据,比如供应商和客户的名字及地址、评价和反馈数 据、事件日志和文档记录。一些对象看上去是整数,但实际上是字符串,比如邮政编码。 邮政编码 01111(马萨诸塞州斯普林菲尔德)和整数 1111 是不一样的,你不能对邮政编码 做加减乘除,所以最好在代码中将邮政编码作为字符串来处理。这一节将介绍用于字符串 管理的一些模块、函数和操作。

1.字符串基本使用

字符串可以包含在单引号、双引号、3个单引号或3个双引号之间。

# 单引号中用单引号要加反斜杠,同时双引号,3引号也如此
print("{0:s}".format('I\'m enjoying learning python'))  # I'm enjoying learning python

# 三种方式混合使用可不用反斜杠进行转义
print("{0:s}".format("I'm enjoying learning python"))  # I'm enjoying learning python

2.标准模块、内置函数、操作符的使用

string_01 = "This is a "
string_02 = 'short string '

2.1操作符的使用
# +操作符实现两字符串的拼接
string_03 = string_01 + string_02
print("+号实现拼接:", string_03)    # +号实现拼接: This is a short string

# *操作符将字符串重复一定的次数
string_04 = string_02 * 3
print("*号实现复制:", string_04)    #  *号实现复制: short string short string short string
                                      

2.2内置函数的使用
# 内置函数len用于确定字符串中字符的数量
str_length = len(string_01)
print("字符串string_01的长度为:", str_length)   # 字符串string_01的长度为: 10
2.3常用标准模块string的使用

(1) split函数 :将一个字符串拆分成一个字符串列表.

split 函数可以在括号中使用两个附加参数。第一个附加参数表示使用哪 个字符进行拆分第二个附加参数表示进行拆分的次数(例如:进行两次拆分,可以得到 3 个子字符串)。

第二个附加参数会在你解析数据的时 候派上用场。举例来说,你可能会解析一个日志文件,文件中包含时间戳、错误代码和由 空格分隔的错误信息。在这种情况下,你应该使用前两个空格进行拆分,解析出时间戳和 错误代码,但是不使用剩下的空格进行拆分,以便完整无缺地保留错误信息。

string_05 = " Today is a good day "
# 默认空格字符对字符串进行拆分
string_06 = string_05.split()
print("默认拆分为:", string_06) # ['Today', 'is', 'a', 'good', 'day']

# 拆分多次
string_07 = string_05.split(" ", 2)   # 默认拆分为: ['Today', 'is', 'a', 'good', 'day']
print("对字符串按空格拆分两次:", string_07) # 对字符串按空格拆分两次: ['', 'Today', 'is a good day ']

(2)join 函數:将列表中的子字符串组合成一个字符串

join 函数 将一个参数放在 join 前面,表示使用这个字符(或字符串)在子字符串之间进行组合。

string_08 = ['Today', 'is', 'a', 'good', 'day']
string_09 = ','.join(string_08)
print("使用逗号将字符串列表拼接为字符串:", string_09) # 使用逗号将字符串列表拼接为字符串: Today,is,a,good,day

(3)strip函數

strip函数:从字符串两端删除不想要的字符

lstrip 和 rstrip 函数:刪除字符串左端,右端的字符

这 3 个函数都可以在括号中使用一个附加参数来设定要从字符串两端删除的字符(或 字符串)。

a.默认状态可以删除字符串两端的制表符、空格和换行符

string_10 = " This is a book \t \n"
string_11 = string_10.strip() # 默认删除字符串两边的制表符、换行符,若使用" "则无法删除换行符
string_12 = string_10.lstrip()
print("默认删除字符串两边的空格:", string_11) # 默认删除字符串两边的空格: This is a book
print("删除字符串左侧的字符:", string_12) # 删除字符串左侧的空格: This is a book

b.设置附加添加条件删除字符串两端的其他字符串

string_13 = "@@@ you are cute $$"
string_14 = string_13.lstrip("@")
print("删除字符串左端的@@@符号:", string_14) # 删除字符串左端的@@@符号: you are cute $%#
string_15 = string_14.rstrip("$")
print("删除字符串右端的$:", string_15) # 删除字符串右端的$: you are cute
string_16 = string_13.strip("@$")
print("删除字符串两端的@和$", string_16) # 删除字符串两端的@和$ you are cute

(4)replace函数

replace 函数:将字符串中的一个或一组字符替换为另一个或 另一组字符。

这个函数在括号中使用两个附加参数,第一个参数是要在字符串中查找替换 的字符或一组字符,第二个参数是要用来替换掉第一个参数的字符或一组字符

string_16 = "I like python"
string_17 = string_16.replace("python", "Java") # 将字符串"python"改为"Java"
print("将python改为Java:", string_17) # 将python改为Java: I like Java

(5)lower、upper、capitalize函数

lower 和 upper 函数分别 用来将字符串中的字母转换为小写和大写。capitalize 函数对字符串中的第一个字母应用upper 函数,对其余的字母应用 lower 函数。

可配合for循环以及split列表处理将所有单词转为第一个大写,其余小写

string_18 = "I like PYTHON"
string_19 = string_18.lower() # 将字符串全变为小写
print("将所选字符串全变成小写:", string_19)    # 将所选字符串全变成小写: i like python
string_20 = string_18.upper() # 将字符串全变为大写
print("将所选字符串全变大写", string_20) # 将所选字符串全变大写 I LIKE PYTHON
string_21 = string_18.capitalize() # 将所选字符串首字母变为大写,其余为小写
print("将所选字符串首字母变为大写其余为小写", string_21) # 将所选字符串首字母变为大写其余为小写 I like python

思考:如果这五个函数一起配合使用,能有怎么样的奇效呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值