Pandas如何提取单元格中的文字并进行切片处理

Pandas提取单元格中的文字并进行切片

比如有如下的Excel数据

Pandas如何提取单元格中的文字并进行切片处理

现在我们想要提取其中付款时间列中的内容,并且仅截取出发货的当天具体时间。

使用.str.slice()来解决这一问题

代码如下:

import pandas as pd

file = pd.read_excel(r\"C:\\Users\\15025\\Desktop\\uncle\\debug.xlsx\")
time = file[\"付款时间\"].str.slice(11, 19)
print(time)
\"\"\"
result:
0     23:57:14
1     23:47:16
2     23:47:15
3     23:43:14
4     23:40:30
5     23:28:40
6     23:28:44
7     23:25:42
8     23:23:57
9     23:22:11
10    23:21:47
Name: 付款时间, dtype: object
\"\"\"

可以看到,我们已经成功截取出了其中的时间信息。

上述方法是比较pandas的写法。

还可以用另一种方法替代

代码如下:

import pandas as pd

file = pd.read_excel(r\"C:\\Users\\15025\\Desktop\\uncle\\debug.xlsx\")

for i in range(len(file[\"付款时间\"])):
    print(file[\"付款时间\"][i][11:19])
\"\"\"
result:
23:57:14
23:47:16
23:47:15
23:43:14
23:40:30
23:28:40
23:28:44
23:25:42
23:23:57
23:22:11
23:21:47
\"\"\"

可以看到,我们也成功地获取到了我们想要的信息,但是我们使用了循环。

虽然速度感觉也不慢,还需要大量数据测试才能说明两种方法的优劣性。

目前推荐使用第一种pandas的内置方法。

如果想要对最后一行数据进行处理呢?

可以使用如下代码:

import pandas as pd

file = pd.read_excel(r\"C:\\Users\\15025\\Desktop\\uncle\\debug.xlsx\")
time = file.iloc[-1].tolist()
time1 = file.values[-1]
print(time)
print(time1)
\"\"\"
[\'SXDD202112212321341427301514\', \'2021-12-21 23:21:34\', \'2021-12-21 23:21:47\', \'2021122122001498451403927933\', \'G202112212321334217301915\']
[\'SXDD202112212321341427301514\' \'2021-12-21 23:21:34\'
 \'2021-12-21 23:21:47\' \'2021122122001498451403927933\'
 \'G202112212321334217301915\']
\"\"\"

可以看到我们成功地将最后一行的数据转化为了列表对象

接下来就可以正常的使用列表切片来获取我们需要的数据了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容