2016-04-12 128 views
-1

我正在嘗試爲python程序產生讀取和寫入序列。我對Python相當陌生;因此對實際代碼並不瞭解。 我很努力地從.CSV文件讀取數據,這個文件包含3列,行數取決於有多少用戶使用我創建的程序。現在,我知道如何查找行,但問題是它會返回整行,其中包含所有三列數據。那麼 - 我如何分離數據?隨後,如何將這些數據片段轉換爲可以讀取,寫入或覆蓋的變量。 請記住,該計劃的背景是計算機A453課程作業。另外請記住,我不是要求你爲我完成我的工作,我已經完成了其他2項任務,以及任務3的所有邏輯和計劃。只是我還剩下2周,直到我必須完成這門課程,並試圖找出可以讀取和覆蓋數據的代碼對於像我這樣的初學者來說是非常困難的。讀取和覆蓋.CSV文件數據

with open('results.csv', 'a', newline='') as fp: 
    g = csv.writer(fp, delimiter=',') 
    data = [[name, score, classroom]] 
    g.writerows(data) 
fp.close() 
# Do the reading 
result = open('results.csv', 'r') 
reader = csv.reader(result) 
new_rows_list = [] 
for row in reader: 
    if row[2] == name: 
     if row[2] < score: 
      result.close() 
      file2 = open('results.csv', 'wb') 
      writer = csv.writer(file2) 
      new_row = [row[2], row[2], name, score, classnumber] 
      new_rows_list.append(new_row) 
      file2.close() 

此刻,此代碼讀取文件,但不是我想要的方式。我希望它隔離記錄中的用戶的「名稱」(在.csv文件中)。而不是這樣做,它將整行讀取整個行,我不知道如何隔離到只是用戶的名稱。

下面是.csv文件中的數據: 名稱得分類數 約旦0 2 約旦0 2 約旦1 2

回答

2

我假設你要什麼樣子的:

雅各,14,B類,3號

而這是一個字符串。

如果是這樣的話,String.split()就是你的答案。在你的情況一個逗號(逗號逗號值),並返回字符串中該字符的每個實例之間的所有內容的數組。

在那裏,如果你想使用結果數據在你的程序,你應該投中的值的數據類型,你想(像浮動(x)或INT(X))

希望這有助於