python学习之利用format()或zfill()函数对数据进行编号排序的应用

文章介绍了在Python中如何利用zfill和format函数对数据进行整理,特别是在添加数据序号方面,以便于后续查询。示例代码展示了如何对F1车手积分和NBA球队名称添加编号,通过数据排序和字符串填充功能实现清晰的列表展示。

平时对数据整理的时候,添加每行的数据序号,方便以后查询使用。

一般会用到format函数或者zfill函数,下面做了简单的示例,有需要的小伙伴可以参考。

Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

zfill()方法语法:
str.zfill(width)
参数:
width – 指定字符串的长度。原字符串右对齐,前面填充0。
返回值:
返回指定长度的字符串。

示例代码:

# *_* coding : UTF-8 *_*

datasort = []
i = 0
data = '莱科宁 236,汉密尔顿 358,维泰尔 294,维斯塔潘 216,博塔斯 227'    # 字符串数据
newlist = data.split(',')                                              # 将字符串数据分割为列表
print(newlist)
# 将车手与积分数据添加到新的列表中
for item in newlist:
    opendata = item.split(' ')
    datasort.append([opendata[1], opendata[0]])
datasort.sort(reverse=True)                                            # 数据降序排列
print("\033=" * 35)
print("输出F1大奖赛车手积分".center(25))
print('=' * 35 + '\033')
print('排名        车手             积分')
# 循环打印每个赛车手与对应积分
for item in datasort:
    i = i + 1
    print(str(i).zfill(2) + '\t', item[1].ljust(14) + '\t', item[0].ljust(6) + '\t')
    print()

输出结果:

['莱科宁 236', '汉密尔顿 358', '维泰尔 294', '维斯塔潘 216', '博塔斯 227']
===================================
       输出F1大奖赛车手积分       
===================================
排名        车手             积分
01	 	汉密尔顿          	 358   	

02	 	维泰尔           	 294   	

03		 莱科宁           	 236   	

04		 博塔斯           	 227   	

05	 	维斯塔潘          	 216   	

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。
| 数字 | 格式 | 输出 | 描述 |
|--|--|
|  |  |

示例代码:

# *_* coding : UTF-8 *_*

nba=['猛龙','勇士','雄鹿','开拓者','掘金','76人']   # 数据列表
i=0                                                 # 默认编号
for item in nba:
    i=i+1                                           # 递增编号
    data='{:0>2}'.format(i)+ '   '+  item           # 数字补0,填充左边宽度为2
    print(data)                                     # 打印带编号的数据

输出结果:

01   猛龙
02   勇士
03   雄鹿
04   开拓者
05   掘金
06   76

最近几年很多朋友对python的学习热情一直很高,希望对有需要参考的小伙伴有帮助,感谢支持。

### 回答1: 可以使用Python的os和shutil模块来实现对文件夹中的文件进行重新编号。 首先,使用os模块的listdir函数获取文件夹中的所有文件名,并将它们保存在一个列表中。 然后,使用enumerate函数遍历这个文件列表,得到每个文件的索引和文件名。 接下来,构造一个新的文件名,可以使用字符串的格式化操作来实现,在文件名中插入编号。 最后,使用shutil模块的move函数将原文件改名为新的文件名。 下面是一个简单的示例代码: ```python import os import shutil def rename_files(folder_path): # 获取文件夹中的所有文件名 file_list = os.listdir(folder_path) for i, file_name in enumerate(file_list): # 构造新的文件名 new_file_name = "file_{}.txt".format(i) # 使用shutil模块的move函数将文件改名 shutil.move(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name)) print("文件重新编号完成!") # 调用函数对文件夹中的文件进行重新编号 rename_files("文件夹路径") ``` 请将上述代码中的"文件夹路径"替换为你实际的文件夹路径,并执行代码,即可实现对文件夹中的文件进行重新编号。 ### 回答2: 在Python中,我们可以使用`os`模块实现对文件夹中的文件进行重新编号。 首先,我们需要使用`os.listdir()`函数获取文件夹中的所有文件名,并保存在一个列表中。 然后,我们可以使用`enumerate()`函数遍历该列表,并使用`os.rename()`函数对每个文件进行重新编号。 具体步骤如下: ```python import os # 获取文件夹路径 folder_path = '文件夹路径' # 获取文件夹中的所有文件名 file_names = os.listdir(folder_path) # 遍历文件名列表 for i, file_name in enumerate(file_names): # 构造新文件名 new_file_name = f'{i+1}.txt' # 新文件名的格式可以根据需要进行修改 # 构造文件的完整路径 file_path = os.path.join(folder_path, file_name) new_file_path = os.path.join(folder_path, new_file_name) # 对文件进行重新编号 os.rename(file_path, new_file_path) print('文件夹中的文件已重新编号') ``` 上述代码中,`folder_path`是待处理文件夹的路径,`file_names`保存了文件夹中的所有文件名。然后,使用`enumerate()`遍历`file_names`列表,并使用`os.rename()`函数将每个文件重命名为新文件名。 注意,上述代码中使用了f-string格式化字符串,其中`i+1`表示文件的新编号。你可以根据需求修改新文件名的格式。 最后,代码打印出一条消息,表示文件夹中的文件已重新编号。 希望以上回答能够帮到你! ### 回答3: 对文件夹中的文件进行重新编号,可以使用Python的os模块和shutil模块来实现。 首先,使用os模块的listdir函数获取文件夹中的所有文件名。然后,使用enumerate函数对文件列表进行遍历,并对每个文件进行重新编号。可以使用zfill函数来确保重新编号的文件名在数字前面补零,以保持文件名的长度一致。 接下来,使用os模块的rename函数对原始文件进行重命名。将原始文件名与重新编号后的文件名进行拼接并传递给rename函数即可。 最后,文件的路径可能发生了变化,可以使用shutil模块的move函数将重命名后的文件移动到正确的路径。 下面是一个示例代码: ``` import os import shutil # 定义文件夹路径和重新编号的起始数字 folder_path = '文件夹路径' start_num = 1 # 获取文件夹中所有文件名 file_names = os.listdir(folder_path) for i, file_name in enumerate(file_names): # 文件名的重新编号 new_file_name = f'{start_num + i:03d}_{file_name}' # 保持文件名长度为3位,不足的地方用0补齐 # 重命名文件 os.rename(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name)) # 移动文件到正确路径(如果需要) shutil.move(os.path.join(folder_path, new_file_name), '正确的文件夹路径') ``` 以上代码会将文件夹中的每个文件重新编号,并将重命名后的文件移动到正确的路径。根据实际情况,你可以根据需要修改文件夹路径、重新编号的起始数字以及正确的文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逃逸的卡路里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值