Python 修改函数以输出和保存列表
我试图从大约1000个csv文件名返回一个单元号列表。我可以在中阅读它们,然后让python删除它们周围的所有垃圾,并替换第5个字符以按我所需的方式进行格式化。我想返回所有单元编号的列表,如['6726-0501','6826-1144']。我现在得到的是一个一个地打印出单元号,而不是保存它们。我已经浏览了前面的问题,但似乎无法获得创建一个列表,然后将单元号附加到列表中,并将该列表保存到一个变量中以工作的模式。有没有人知道一种简单地修改它以输出列表并保存列表以供以后使用的好方法 谢谢 罗宾Python 修改函数以输出和保存列表,python,function,file-management,Python,Function,File Management,我试图从大约1000个csv文件名返回一个单元号列表。我可以在中阅读它们,然后让python删除它们周围的所有垃圾,并替换第5个字符以按我所需的方式进行格式化。我想返回所有单元编号的列表,如['6726-0501','6826-1144']。我现在得到的是一个一个地打印出单元号,而不是保存它们。我已经浏览了前面的问题,但似乎无法获得创建一个列表,然后将单元号附加到列表中,并将该列表保存到一个变量中以工作的模式。有没有人知道一种简单地修改它以输出列表并保存列表以供以后使用的好方法 谢谢 罗宾 fi
file_names = ['job_1106_unit_672600501_las_PN23074.LAS.csv', 'job_1108_unit_682601144_las_PN23072.LAS.csv']
def change(file_names):
for comps in file_names:
comps_of_comps = list(comps)
unit_num = comps_of_comps[14:23] #[672600501]
a = (unit_num[0:4]) #[6726]
b = (unit_num[5:9]) #[0501]
unit_num = a + list('-') + b #[6,7,2,6,-,0,5,0,1]
unit_num = ''.join(unit_num) #6726-0501
print unit_num
change(file_names)
您可以初始化一个新列表并附加到它,然后返回该列表。像
file_names = ['job_1106_unit_672600501_las_PN23074.LAS.csv', 'job_1108_unit_682601144_las_PN23072.LAS.csv']
def change(file_names):
result = []
for comps in file_names:
comps_of_comps = list(comps)
unit_num = comps_of_comps[14:23] #[672600501]
a = (unit_num[0:4]) #[6726]
b = (unit_num[5:9]) #[0501]
unit_num = a + list('-') + b #[6,7,2,6,-,0,5,0,1]
unit_num = ''.join(unit_num) #6726-0501
result.append(unit_num)
return result
print change(file_names)
或
谢谢,我选择了第一个选项,效果很好。我感谢你的帮助。
import re
def change(file_names):
result = []
for i in file_names:
s = re.match('.*unit_(.*)_las.*', i).group(1)
result.append(s[:len(s)/2]+"-"+s[(len(s)/2)+1:])
return result