如何在python中对包含字母和数字的csv列进行排序?

2024-09-28 21:33:16 发布

您现在位置:Python中文网/ 问答频道 /正文

[问题:]我在排序同时包含字母和数字的列时遇到问题。你知道吗

[输入] 我的专栏如下: 参考

Test1
Test2
Test11

[代码]

import csv
import operator
sample = open (r'test.csv','r')
csv1 = csv.reader(sample, delimiter = ',')
sort = sorted (csv1,key=operator.itemgetter(154))

[电流输出]

Test1
Test11
Test2

[期望输出]

Test1
Test2
Test11

因此,你可以分享一个提示。你知道吗

小心


Tags: csvsample代码testimport排序字母数字
1条回答
网友
1楼 · 发布于 2024-09-28 21:33:16

您可以使用re查找数字并转换为int:

import re

sort = sorted(csv1,key=lambda x: int(re.search("\d+",x[154]).group()))

如果有些字符串没有数字:

进口re

sort = sorted(csv1,key=lambda x: x[154] if x.isalpha() else int(re.search("\d+",x[154]).group()))

相关问题 更多 >