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("\t")  # 每一行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('\t')                          # 相當於Tab一下,換一個單元格
        file2.write('\n')                              # 寫完一行立馬換行
    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("\t")  # 每一行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('\t')                          # 相當於Tab一下,換一個單元格
        file2.write('\n')                              # 寫完一行立馬換行
    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]]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM