簡體   English   中英

將變量寫入CSV行python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM