翼度科技»论坛 编程开发 python 查看内容

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

4

主题

4

帖子

12

积分

新手上路

Rank: 1

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


比如有如下的Excel数据


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

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

代码如下:
  1. import pandas as pd

  2. file = pd.read_excel(r"C:\Users\15025\Desktop\uncle\debug.xlsx")
  3. time = file["付款时间"].str.slice(11, 19)
  4. print(time)
  5. """
  6. result:
  7. 0     23:57:14
  8. 1     23:47:16
  9. 2     23:47:15
  10. 3     23:43:14
  11. 4     23:40:30
  12. 5     23:28:40
  13. 6     23:28:44
  14. 7     23:25:42
  15. 8     23:23:57
  16. 9     23:22:11
  17. 10    23:21:47
  18. Name: 付款时间, dtype: object
  19. """
复制代码
可以看到,我们已经成功截取出了其中的时间信息。
上述方法是比较
  1. pandas
复制代码
的写法。

还可以用另一种方法替代

代码如下:
  1. import pandas as pd

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

  3. for i in range(len(file["付款时间"])):
  4.     print(file["付款时间"][i][11:19])
  5. """
  6. result:
  7. 23:57:14
  8. 23:47:16
  9. 23:47:15
  10. 23:43:14
  11. 23:40:30
  12. 23:28:40
  13. 23:28:44
  14. 23:25:42
  15. 23:23:57
  16. 23:22:11
  17. 23:21:47
  18. """
复制代码
可以看到,我们也成功地获取到了我们想要的信息,但是我们使用了循环。
虽然速度感觉也不慢,还需要大量数据测试才能说明两种方法的优劣性。
目前推荐使用第一种
  1. pandas
复制代码
的内置方法。

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

可以使用如下代码:
  1. import pandas as pd

  2. file = pd.read_excel(r"C:\Users\15025\Desktop\uncle\debug.xlsx")
  3. time = file.iloc[-1].tolist()
  4. time1 = file.values[-1]
  5. print(time)
  6. print(time1)
  7. """
  8. ['SXDD202112212321341427301514', '2021-12-21 23:21:34', '2021-12-21 23:21:47', '2021122122001498451403927933', 'G202112212321334217301915']
  9. ['SXDD202112212321341427301514' '2021-12-21 23:21:34'
  10. '2021-12-21 23:21:47' '2021122122001498451403927933'
  11. 'G202112212321334217301915']
  12. """
复制代码
可以看到我们成功地将最后一行的数据转化为了列表对象
接下来就可以正常的使用列表切片来获取我们需要的数据了

总结

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

来源:https://www.jb51.net/python/316228atk.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具