• 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]]

  • 相关阅读:
    py爬取英文文档学习单词
    windows 下使clion支持c++11操作记录
    angular在ie8下的一个bug
    连连看小游戏前端实现
    如何禁止页面文字被选中
    分享一个BUG
    描点链接元素的优化提升用户体验
    模拟淘宝滚动显示问题解决入口
    简易图片轮播效果
    支付战争
  • 原文地址:https://www.cnblogs.com/easyidea/p/11042416.html
Copyright © 2020-2023  润新知