arrays
  • python-2.7
  • file
  • store
  • words
  • 2016-11-22 116 views 0 likes 
    0

    我想從二維數組的一個文件夾就意味着存儲我的文件:話是我的專欄,併爲每個文件上有一行。這是我的代碼,但錯誤地存儲在數組中,我該怎麼辦? 例如: 文件1:你好蟒 文件2:再見C++ 我期望在第1行存儲你好在列在列1和C++的2欄和行2中存儲再見塔1和python 2如何從Python中的二維數組目錄中存儲文本文件?

    j=0 
    i=0 
    adress="" 
    import os, sys 
    
    # Open a file 
    path = 'E:/corpus' 
    dirs = os.listdir(path) 
    
    # This would print all the files and directories  
    for files in dirs: 
        print files 
        j=0 
        i=i+1 
        my="" 
    
        adress='E:/corpus/'+files 
        with open(adress, 'r') as myfile: 
         for myline in myfile: 
          for word in myline.split(" "): 
           my=my+" "+word 
    
        data=my.split(" ") 
        for mydata in data: 
         mylist[i][j]=mydata 
         j=j+1 
    
    +0

    使用字典來代替。與多維列表相比,管理起來要容易得多。 – NinjaGaiden

    +0

    您期望的輸出是什麼? – Setop

    +0

    @Setop我有300個文本文件,我想存儲在二維數組文件的話一個文件夾,這意味着在我的二維數組,我希望爲每個文件一行是詞店列:類似:文件1:您好蟒蛇,文件2:再見C++,我期望在一個行存儲在招呼在兩個列並且在列一列和python 2個存儲輪空在兩個列一列和C++ – missnabat

    回答

    0

    我發現答案最後,這個鱈商店100 txt文件形成100行的陣列,並且每個文件的字的文件夾是此陣列的列。

    n=100 
    mylist=[] 
    tempstring="" 
    row=0 
    
    
    import os, sys 
    
    # Open a file 
    path = 'E:\corpus' 
    dirs = os.listdir(path) 
    
    # This would print all the files and directories  
    for files in dirs: 
    
    
        print files 
    
    
        adress='E:/corpus/'+files 
        with open(adress, 'r') as myfile: 
         for myline in myfile: 
          for word in myline.split(" "): 
    
           tempstring=tempstring+" "+word 
    
        a=0 
        temparray=tempstring.split(" ") 
        for i in xrange(row,row+1): 
    
    
         mylist.append([]) 
    
         for data in temparray: 
    
          mylist[i].append(data) 
          a=a+1 
        if(a==len(temparray)): 
         row=row+1 
         tempstring="" 
    
    相關問題