简体   繁体   English

在 python 中的 csv 文件的单行中添加多个值

[英]Adding Multiple values to a single row in a csv file in python

I am trying to add multiple column values to a single row in python, i have tried this:我正在尝试将多个列值添加到 python 中的单行,我试过这个:

with open (filename,'a') as golds:
        golds.write(self.BOBtextbox.get())
        golds.write(self.Whompstextbox.get())
        golds.write(self.SSLtextbox.get())
        golds.write(self.BITDWtextbox.get())
        golds.write(self.SSLtextbox.get())
        golds.write(self.LLLtextbox.get())
        golds.write(self.HMCtextbox.get())
        golds.write(self.DDDtextbox.get())
        golds.write(self.BITFStextbox.get())
        golds.write(self.BLJtextbox.get())
        golds.write(self.BITStextbox.get())

However this adds all the data to a single row and column whereas i want all each write statement in a different column, any ideas?但是,这会将所有数据添加到单个行和列中,而我希望所有每个写入语句都在不同的列中,有什么想法吗?

Edit: just to be clearer, the value outputted into the csv file is put all into one cell: 1254567891011 instead of: 1,2,3,4,5,6,7,8,9,10,11编辑:为了更清楚,输出到 csv 文件的值全部放入一个单元格:1254567891011 而不是:1,2,3,4,5,6,7,8,9,10,11

Assuming there are no commas in all of the text boxes string, have you tried adding comma between each expected column?假设所有文本框字符串中都没有逗号,您是否尝试在每个预期列之间添加逗号?

with open (filename,'a') as golds:
    golds.write(self.BOBtextbox.get())
    golds.write(",")
    golds.write(self.Whompstextbox.get())
    golds.write(",")
    golds.write(self.SSLtextbox.get())
    golds.write(",")
    golds.write(self.BITDWtextbox.get())
    golds.write(",")
    golds.write(self.SSLtextbox.get())
    golds.write(",")
    golds.write(self.LLLtextbox.get())
    golds.write(",")
    golds.write(self.HMCtextbox.get())
    golds.write(",")
    golds.write(self.DDDtextbox.get())
    golds.write(",")
    golds.write(self.BITFStextbox.get())
    golds.write(",")
    golds.write(self.BLJtextbox.get())
    golds.write(",")
    golds.write(self.BITStextbox.get())

Alternatively, you can use python csv built-in library instead或者,您可以使用 python csv内置库代替

import csv
with open(filename, 'a', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
    writer.writerow([
        self.BOBtextbox.get(),
        self.Whompstextbox.get(),
        self.SSLtextbox.get(),
        self.BITDWtextbox.get(),
        self.SSLtextbox.get(),
        self.LLLtextbox.get(),
        self.HMCtextbox.get(),
        self.DDDtextbox.get(),
        self.BITFStextbox.get(),
        self.BLJtextbox.get(),
        self.BITStextbox.get()
    ])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM