Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 修改函数以输出和保存列表_Python_Function_File Management - Fatal编程技术网

Python 修改函数以输出和保存列表

Python 修改函数以输出和保存列表,python,function,file-management,Python,Function,File Management,我试图从大约1000个csv文件名返回一个单元号列表。我可以在中阅读它们,然后让python删除它们周围的所有垃圾,并替换第5个字符以按我所需的方式进行格式化。我想返回所有单元编号的列表,如['6726-0501','6826-1144']。我现在得到的是一个一个地打印出单元号,而不是保存它们。我已经浏览了前面的问题,但似乎无法获得创建一个列表,然后将单元号附加到列表中,并将该列表保存到一个变量中以工作的模式。有没有人知道一种简单地修改它以输出列表并保存列表以供以后使用的好方法 谢谢 罗宾 fi

我试图从大约1000个csv文件名返回一个单元号列表。我可以在中阅读它们,然后让python删除它们周围的所有垃圾,并替换第5个字符以按我所需的方式进行格式化。我想返回所有单元编号的列表,如['6726-0501','6826-1144']。我现在得到的是一个一个地打印出单元号,而不是保存它们。我已经浏览了前面的问题,但似乎无法获得创建一个列表,然后将单元号附加到列表中,并将该列表保存到一个变量中以工作的模式。有没有人知道一种简单地修改它以输出列表并保存列表以供以后使用的好方法

谢谢

罗宾

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