[英]Writing variables to a CSV row python
我有一個簡單的程序,可以在數據框的for循環內進行一些計算。
該程序在每次迭代后打印5個變量的結果,例如a,b,c,d,e
我只是想在每次循環運行時將這5個值添加到CSV的新行中,但是我不知道該怎么做! 我已經嘗試過使用基本的csv編寫,但是它們總是出現在同一列中,而不是一起出現在同一行中
任何幫助,將不勝感激
csvRow = [x, ctr, clicks, spend, bidTotal, cpm, cpc]
csvfile = "data.csv"
with open(csvfile, "a") as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(csvRow)
如果列表正確,您的代碼似乎可以正常工作:
import csv
x, ctr, clicks, spend, bidTotal, cpm, cpc = 1, 2, 3, 4, 5, 6, 7
csvRow = [x, ctr, clicks, spend, bidTotal, cpm, cpc]
csvfile = "data.csv"
with open(csvfile, "a") as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(csvRow)
wr.writerow(['a', 'b', 'c', 'd', 'e', 'f', 'g'])
open(csvfile, 'r').read()
然后返回:
'1,2,3,4,5,6,7 \\ r \\ na,b,c,d,e,f,g \\ r \\ n'
-符合預期。
如果仍然無法使用,請嘗試提供一個重現此問題的最小示例。 請記住(使用open(... "a")
),您將附加到現有文件,因此,如果看起來不正確,則可能是該程序先前版本的遺留問題。
由於運行Windows時csv
模塊中的限制,因此存在空白行:
Python 3:
with open(csvfile, "a", newline='') as fp:
Python 2:
with open(csvfile, "ab") as fp:
閱讀相關的問答: 使用python 2或python 3編寫csv文件的可移植方式
要將值寫入文件,首先需要打開文件以將值放入:
file = open('filename.csv', 'a') #opens a file for appending
然后,您必須在循環的每次迭代中寫入文件:
file.write('{}, {}, {}, {}, {}\n'.format(a, b, c, d, e)) #writes a formatted string to the file
完成后關閉文件:
file.close()
變量---- user_id
字典:--- Curso ['ultima'] ['key']
常數:“ hola”
csvRow = [user_id, NCurso, Curso['ultima']['key'], 'hola']
csvfile = "digraph.csv"
with open(csvfile, "a", newline='') as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(csvRow)
結果:
1,Mate,131313,hola
2,Fisica,121313,hola
3,Cal,131334,hola
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.