我有一個將新數據添加到csv文件的函數。我有點工作。但是,我遇到了一些問題。通過Python將數據添加到CSV文件
- 當我添加新值
(name, phone, address, birthday)
時,它將它們全部添加到一列中,而不是同一行中的單獨列。 (關於如何將它們分成不同列的想法不多) - 我只能添加數字而不是字符串值。所以如果我寫
add_friend(blah, 31, 12, 45)
,它會回來說blah
沒有定義。但是,如果我編寫add_friend(3,4,5,6)
,它會將它添加到新行中,但將它添加到單個列中 - 該功能的目標是:如果嘗試添加已在csv中的朋友(比如說Bob) ,他的地址,電話,生日都已經在csv,如果你
add_friend(Bob, address, phone, birthday)
,應該說明False
,而不是加上它。但是,我不知道如何做到這一點。有任何想法嗎?
這裏是我的代碼:
def add_friend (name, phone, address, birthday):
with open('friends.csv', 'ab') as f:
newrow = [name, phone, address, birthday]
friendwriter = csv.writer(open('friends.csv', 'ab'), delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
friendwriter.writerow(newrow)
#friendreader = csv.reader(open('friends.csv', 'rb'), delimiter=' ', quotechar='|')
#for row in friendreader:
#print ' '.join(row)
print newrow
@Steven嚴重的是,你可能已經更新了[你的其他問題](http://stackoverflow.com/q/7242849/906442),這確實是一個完全相同的問題。最好將它們放在一起,這樣每個人都可以幫助你順利解決問題。我投票合併。 –