1. 程式人生 > >用python從txt檔案中讀入資料

用python從txt檔案中讀入資料

現在有如下資料集儲存在txt檔案中,利用python逐行讀取資料到list型別下。

1.658985    4.285136  
-3.453687   3.424321  
4.838138    -1.151539  
-5.379713   -3.362104  
0.972564    2.924086  
-3.567919   1.531611  
0.450614    -3.302219  
-3.487105   -1.724432  
2.668759    1.594842  
-3.156485   3.191137  
3.165506    -3.999838  
-2.786837   -3.099354  
4.208187    2.984927  
-2.123337   2.943366  
0.704199    -0.479481  
-0.392370   -3.963704  
2.831667    1.574018  
-0.790153   3.343144  
2.943496    -3.357075  
-3.195883   -2.283926  
2.336445    2.875106  
-1.786345   2.554248  
2.190101    -1.906020  
-3.403367   -2.778288  
1.778124    3.880832  
-1.688346   2.230267  
2.592976    -2.054368  
-4.007257   -3.207066  
2.257734    3.387564  
-2.679011   0.785119  
0.939512    -4.023563  
-3.674424   -2.261084  
2.046259    2.735279  
-3.189470   1.780269  
4.372646    -0.822248  
-2.579316   -3.497576  
1.889034    5.190400  
-0.798747   2.185588  
2.836520    -2.658556  
-3.837877   -3.253815  
2.096701    3.886007  
-2.709034   2.923887  
3.367037    -3.184789  
-2.121479   -4.232586  
2.329546    3.179764  
-3.284816   3.273099  
3.091414    -3.815232  
-3.762093   -2.432191  
3.542056    2.778832  
-1.736822   4.241041  
2.127073    -2.983680  
-4.323818   -3.938116  
3.792121    5.135768  
-4.786473   3.358547  
2.624081    -3.260715  
-4.009299   -2.978115  
2.493525    1.963710  
-2.513661   2.642162  
1.864375    -3.176309  
-3.171184   -3.572452  
2.894220    2.489128  
-2.562539   2.884438  
3.491078    -3.947487  
-2.565729   -2.012114  
3.332948    3.983102  
-1.616805   3.573188  
2.280615    -2.559444  
-2.651229   -3.103198  
2.321395    3.154987  
-1.685703   2.939697  
3.031012    -3.620252  
-4.599622   -2.185829  
4.196223    1.126677  
-2.133863   3.093686  
4.668892    -2.562705  
-2.793241   -2.149706  
2.884105    3.043438  
-2.967647   2.848696  
4.479332    -1.764772  
-4.905566   -2.911070  

程式碼如下:

file_name = "k-means.txt"
dataset = []
file = open(file_name, mode='r')
for line in file:
    line = line.split()
    dataset.append(line)
file.close()
print(dataset)
[['1.658985', '4.285136'], ['-3.453687', '3.424321'], ['4.838138', '-1.151539'], ['-5.379713', '-3.362104'], ['0.972564', '2.924086'], ['-3.567919', '1.531611'], ['0.450614', '-3.302219'], ['-3.487105', '-1.724432'], ['2.668759', '1.594842'], ['-3.156485', '3.191137'], ['3.165506', '-3.999838'], ['-2.786837', '-3.099354'], ['4.208187', '2.984927'], ['-2.123337', '2.943366'], ['0.704199', '-0.479481'], ['-0.392370', '-3.963704'], ['2.831667', '1.574018'], ['-0.790153', '3.343144'], ['2.943496', '-3.357075'], ['-3.195883', '-2.283926'], ['2.336445', '2.875106'], ['-1.786345', '2.554248'], ['2.190101', '-1.906020'], ['-3.403367', '-2.778288'], ['1.778124', '3.880832'], ['-1.688346', '2.230267'], ['2.592976', '-2.054368'], ['-4.007257', '-3.207066'], ['2.257734', '3.387564'], ['-2.679011', '0.785119'], ['0.939512', '-4.023563'], ['-3.674424', '-2.261084'], ['2.046259', '2.735279'], ['-3.189470', '1.780269'], ['4.372646', '-0.822248'], ['-2.579316', '-3.497576'], ['1.889034', '5.190400'], ['-0.798747', '2.185588'], ['2.836520', '-2.658556'], ['-3.837877', '-3.253815'], ['2.096701', '3.886007'], ['-2.709034', '2.923887'], ['3.367037', '-3.184789'], ['-2.121479', '-4.232586'], ['2.329546', '3.179764'], ['-3.284816', '3.273099'], ['3.091414', '-3.815232'], ['-3.762093', '-2.432191'], ['3.542056', '2.778832'], ['-1.736822', '4.241041'], ['2.127073', '-2.983680'], ['-4.323818', '-3.938116'], ['3.792121', '5.135768'], ['-4.786473', '3.358547'], ['2.624081', '-3.260715'], ['-4.009299', '-2.978115'], ['2.493525', '1.963710'], ['-2.513661', '2.642162'], ['1.864375', '-3.176309'], ['-3.171184', '-3.572452'], ['2.894220', '2.489128'], ['-2.562539', '2.884438'], ['3.491078', '-3.947487'], ['-2.565729', '-2.012114'], ['3.332948', '3.983102'], ['-1.616805', '3.573188'], ['2.280615', '-2.559444'], ['-2.651229', '-3.103198'], ['2.321395', '3.154987'], ['-1.685703', '2.939697'], ['3.031012', '-3.620252'], ['-4.599622', '-2.185829'], ['4.196223', '1.126677'], ['-2.133863', '3.093686'], ['4.668892', '-2.562705'], ['-2.793241', '-2.149706'], ['2.884105', '3.043438'], ['-2.967647', '2.848696'], ['4.479332', '-1.764772'], ['-4.905566', '-2.911070']]
[Finished in 0.2s]

open(object,mode)函式的解釋:

          object:需要開啟的檔名稱

          mode:開啟的模式

                         w:只能操作寫入                           w+:可讀可寫 

                         r:只能讀取                                    r+:可讀可寫

                         a:向檔案追加資料                        a+:可讀可追加

                         wb+:寫入進位制資料

值得注意的是:

          w模式開啟檔案,如果檔案中有資料,再次寫入內容,會把原來資料的覆蓋掉

         a模式開啟檔案,如果檔案中有資料,再次寫入內容時,不會覆蓋原來的資料,而是在其後新增資料

         用open開啟檔案後,記得用close()關閉