[英]Python, csv writer function
我創建了一個csv函數,該函數應要求使用指定的csv分隔符將文件路徑和X個字符串數寫入文件。
def WRITE_csv(csv_path,*args):
with open(csv_path, "ab") as f:
csv_list=csv.writer(f,delimiter='|')
csv_string=""
for arg in args:
csv_string=csv_string+","+arg
csv_string=csv_string[1:]
csv_list.writerow([csv_string])
問題是csv模塊正在編寫,
而不是|
作為一個bonnus,我想替換:
csv_string=""
for arg in args:
csv_string=csv_string+","+arg
具有單行功能
csv_string="".format(','.join(arg for arg in args))
但是它總是給我一個空字符串!
您在分隔符的值中混淆了文字 ,
字符串。 您只在寫一欄 :
csv_list.writerow([csv_string])
因此, csv.writer()
永遠不會導致|
中沒有定界符,因為沒有第二列要定界。 您傳入了一個完整的字符串csv_string
作為一個單值列表,因此很自然地將其視為唯一的列。 該模塊不會再次分裂的逗號的字符串。
將分隔符留給編寫者:
def WRITE_csv(csv_path, *args):
with open(csv_path, "ab") as f:
csv_list=csv.writer(f,delimiter='|')
csv_list.writerow(args)
換句話說, args
已經是 csv.writerow()
調用的正確類型 ,您無需在此處進行轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.