我正在使用自定義鍵盤。我正在使用 .csv 檔案來存盤各個鍵系結。它的 csv 如下所示:
1,2,3,4,5
q,w,e,r,t
a,s,d,f,g
z,x,c,v,b
6,7,8,9,0
y,u,i,o,p
現在,我有一個函式可以讀取檔案并將其放入串列中:
import csv
bMap = []
# initial fillout of bMap
f = open('bMap.csv', 'r')
contents = csv.reader(f, delimiter=',', quotechar='|')
for row in contents:
bMap.append(row)
f.close()
print(bMap)
這是我的輸出:
[['1', 'y', '3', '4', '5'], ['q', 'w', 'e', 'r', 't'], ['a', 's', 'd', 'f', 'g'], ['z', 'x', 'c', 'v', 'b'], ['6', '7', '8', '9', '0'], ['y', 'u', 'i', 'o', 'p']]
到現在為止還挺好。現在假設用戶將“2”的系結更改為“x”
bMap[0][1] = 'y'
print(bMap)
當然,輸出與串列時間相同,但使用“x”而不是“2”。
現在我希望它保存對上述 .csv 檔案的更改。我正在使用以下功能:
f = open('bMap.csv', 'w')
writer = csv.writer(f, delimiter=',', quotechar='|')
writer.writerows(bMap)
f.close()
現在,當我打開 csv 檔案時,它看起來如下:
1,y,3,4,5
q,w,e,r,t
a,s,d,f,g
z,x,c,v,b
6,7,8,9,0
y,u,i,o,p
由于某種原因,我有這些空行。現在,如果我再次運行代碼,它將無法正常作業。我怎樣才能擺脫它們?為什么要寫它們?
uj5u.com熱心網友回復:
解決您的問題很簡單。只需相應地更改此行。
f = open('bMap.csv', 'w', newline='')
有關更多資訊,請查看下面的鏈接。
在使用 Python 讀取 csv 時指定換行符('\n')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/321808.html
