• python保存二维列表到txt文件,读取txt文件里面的数据转化为二维列表


    源码:

    # 读文件里面的数据转化为二维列表
    def Read_list(filename):
        file1 = open(filename+".txt", "r")
        list_row =file1.readlines()
        list_source = []
        for i in range(len(list_row)):
            column_list = list_row[i].strip().split("	")  # 每一行split后是一个列表
            list_source.append(column_list)                # 在末尾追加到list_source
        file1.close()
        return list_source
    
    #保存二维列表到文件
    def Save_list(list1,filename):
        file2 = open(filename + '.txt', 'w')
        for i in range(len(list1)):
            for j in range(len(list1[i])):
                file2.write(str(list1[i][j]))              # write函数不能写int类型的参数,所以使用str()转化
                file2.write('	')                          # 相当于Tab一下,换一个单元格
            file2.write('
    ')                              # 写完一行立马换行
        file2.close()
    
    lists=[[1,2,3,4],[45,23,456,23,54,23],[12,23,23,345,23,12]]
    Save_list(lists,'myfile')
    print(Read_list('myfile'))

    输出[['1', '2', '3', '4'], ['45', '23', '456', '23', '54', '23'], ['12', '23', '23', '345', '23', '12']]

    但是发现一个问题,里面元素变成了字符类型。

    优化代码:

    # 读文件里面的数据转化为二维列表
    def Read_list(filename):
        file1 = open(filename+".txt", "r")
        list_row =file1.readlines()
        list_source = []
        for i in range(len(list_row)):
            column_list = list_row[i].strip().split("	")  # 每一行split后是一个列表
            list_source.append(column_list)                # 在末尾追加到list_source
        for i in range(len(list_source)):  # 行数
            for j in range(len(list_source[i])):  # 列数
                list_source[i][j]=int(list_source[i][j])
        file1.close()
        return list_source
    
    #保存二维列表到文件
    def Save_list(list1,filename):
        file2 = open(filename + '.txt', 'w')
        for i in range(len(list1)):
            for j in range(len(list1[i])):
                file2.write(str(list1[i][j]))              # write函数不能写int类型的参数,所以使用str()转化
                file2.write('	')                          # 相当于Tab一下,换一个单元格
            file2.write('
    ')                              # 写完一行立马换行
        file2.close()
    
    lists=[[1,2,3,4],[45,23,456,23,54,23],[12,23,23,345,23,12]]
    Save_list(lists,'myfile')
    print(Read_list('myfile'))

    输出:[[1, 2, 3, 4], [45, 23, 456, 23, 54, 23], [12, 23, 23, 345, 23, 12]]

  • 相关阅读:
    编程题:数组中出现超数组长度一半的数字
    编程题:两数之和&数组中相加为0的三元数组
    编程题:最小矩阵路径
    编程题:斐波那契数列青蛙跳台阶
    向excel文件中写内容
    Java:使用jxl读取excel文件内容
    索尼1a dac插电脑用什么驱动。在哪下载,求助
    idea启动项目报端口号冲突或被占用
    两分钟解决IntelliJ IDEA中文乱码问题
    IntelliJ IDEA以不同格式导出数据库的数据
  • 原文地址:https://www.cnblogs.com/easyidea/p/11042416.html
Copyright © 2020-2023  润新知