2017-06-13 70 views
0

我有這個C代碼我如何從一個矩陣Python中的文件

FILE *f,*g; 
f=fopen("sudoku.in","r"); 
    void read() 
    {          

     int i,j; 
     for(i=1; i<=9; i++) 
      for(j=1; j<=9; j++) 
       fscanf(f,"%d",&a[i][j]); 

    } 

寫,我不知道如何從一個文件中的一個矩陣在python閱讀

fileRead = open('sudoku.in', 'r') 
fileWrite = open('sudoku.out', 'w') 
+0

你可以通過獲取文件 –

+0

的字符串內容開始由線組織的文件中的數字,每行九個值? – Alfe

+0

這可能取決於文件的格式。你能提供一個編輯你的問題的例子嗎? – PatriceG

回答

1

假設你的文件看起來像

123456789\n 
987654321\n 
... 

然後像

with open('sudoku.in', 'r') as R: 
    a = [[int(c) for c in l] for l in R.readlines()] 

應該給你a作爲一個列表的列表(行的列表,每一行是一個整數列表)。

如果每行的值是用空格分隔,這是更簡單:

with open('sudoku.in', 'r') as R: 
    a = [l.split() for l in R.readlines()] 

有關更多信息,請參見readlines()split()

1

試試numpy的,一樣方便

import numpy as np 

mat = np.loadtxt(filename, delimiter=" ") 

全面詳細檢查出的文檔here

相關問題