|
Pandas提取单元格中的文字并进行切片
比如有如下的Excel数据
现在我们想要提取其中付款时间列中的内容,并且仅截取出发货的当天具体时间。
使用.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
- """
复制代码 可以看到,我们已经成功截取出了其中的时间信息。
上述方法是比较的写法。
还可以用另一种方法替代
代码如下:- 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
- """
复制代码 可以看到,我们也成功地获取到了我们想要的信息,但是我们使用了循环。
虽然速度感觉也不慢,还需要大量数据测试才能说明两种方法的优劣性。
目前推荐使用第一种的内置方法。
如果想要对最后一行数据进行处理呢?
可以使用如下代码:- 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']
- """
复制代码 可以看到我们成功地将最后一行的数据转化为了列表对象
接下来就可以正常的使用列表切片来获取我们需要的数据了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://www.jb51.net/python/316228atk.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|