看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)在处理文件名数据时,需要分离文件名和扩展名。给定以下包含文件名数据,要求使用.str.partition()方法进行拆分处理。
import pandas as pd
data = {'filename': ['document.pdf',
'image.jpg',
'data.xlsx',
'archive.zip']
}
df = pd.DataFrame(data)
print(df)
输出结果:
filename
0 document.pdf
1 image.jpg
2 data.xlsx
3 archive.zip
具体要求:
代码如下:
import pandas as pd
data = {'filename': ['document.pdf',
'image.jpg',
'data.xlsx',
'archive.zip']
}
df = pd.DataFrame(data)
# 使用rpartition从右边开始拆分
result = (df.assign(名称=df['filename'].str.rpartition('.')[0],
扩展名=df['filename'].str.rpartition('.')[1] +
df['filename'].str.rpartition('.')[2]))
print(result)
输出结果:
filename 名称 扩展名
0 document.pdf document .pdf
1 image.jpg image .jpg
2 data.xlsx data .xlsx
3 archive.zip archive .zip
参考代码的思路逻辑:使用.str.rpartition('.')方法从字符串右边开始查找第一个"."进行拆分,返回三元组(分隔符前、分隔符本身、分隔符后)。通过索引[0]获取文件名称部分,将索引[1](点号)和索引[2](扩展名)拼接得到完整的扩展名。这种方法适合处理文件扩展名提取,特别是对于可能有多个点号的文件名(如"archive.tar.gz"的情况需要额外处理)。
(完)
更新时间:2025-09-17 17:53:34 标签:pandas python 文件 扩展名