Python CSV输出格式

Python CSV输出格式,python,csv,formatting,Python,Csv,Formatting,我需要输出的CSV文件文本在三个文件的赔率,公平和所有数字。但是,现在,当您运行程序时,它们仅以数组格式打印在一行上。我需要所有的数字都在各自的行上,用逗号隔开 例如: 1, 2, 3, 4, 五, 我可以在所有writerows上使用循环,如下面的代码所示,但是这个选项将值分隔为 一, 二, 三, 四, 五, 为了获得正确的输出,我想避免这种情况,而只是使用.join或换行符,甚至其他一些东西,但我无法使用它们,并且在格式化csv文件方面没有太多经验 import csv from tkint

我需要输出的CSV文件文本在三个文件的赔率,公平和所有数字。但是,现在,当您运行程序时,它们仅以数组格式打印在一行上。我需要所有的数字都在各自的行上,用逗号隔开

例如:

1,
2,
3,
4,
五,

我可以在所有writerows上使用循环,如下面的代码所示,但是这个选项将值分隔为

一,

二,

三,

四,

五,

为了获得正确的输出,我想避免这种情况,而只是使用.join或换行符,甚至其他一些东西,但我无法使用它们,并且在格式化csv文件方面没有太多经验

import csv
from tkinter import *

myGui = Tk()
myGui.title("Label Creator    v: 0.01")
myGui.geometry("290x70")

allArray = []
oddArray = []
evenArray = []

Label(myGui, text="Starting value: ").grid(row=0)
Label(myGui, text="Ending value: ").grid(row=1)

a = IntVar()
b = IntVar()

e1 = Entry(myGui, textvariable=a)
e1.grid(row=0, column=1)
e2 = Entry(myGui, textvariable=b)
e2.grid(row=1, column=1)

def main():
    oute1 = a.get()
    oute2 = b.get()
    for i in range(oute1, oute2 + 1):
        x = i
        allArray.append(x)
        # Odds
        if(x % 2 == 1):
            oddArray.append(x)
        # Evens
        elif(x % 2 == 0):
            evenArray.append(x)

    with open("all_labels", "w") as outputFile1:
        writer1 = csv.writer(outputFile1)
        for k in allArray:
            writer1.writerow([k])

    with open("odd_labels", "w") as outputFile1:
        writer2 = csv.writer(outputFile1)
        for k in oddArray:
            writer2.writerow([k])

    with open("even_labels", "w") as outputFile2:
        writer3 = csv.writer(outputFile2)
        for k in evenArray:
            writer3.writerow([k])


Button(myGui, text="Start", command=main).grid(row=3)

myGui.mainloop()
我需要所有的数字都在各自的行上,用逗号隔开

首先,您不需要csv模块

其次,我会定义一个函数,这样你就不会重复你自己了

def write_numbers(filename, nums):
    with open(filename, "w") as f:
        for x in nums:
            f.write("{},\n".format(x))
然后为每个需要的输出调用它

write_numbers("all_labels.txt", allArray) 
write_numbers("odd_labels.txt", oddArray)  
write_numbers("even_labels.txt", evenArray) 

如果您只想强制
csv
模块打印逗号,则可以在第二列为空:

    writer1.writerow ([k, None])
现在,如果这真的是您想要的,我认为您不应该首先使用csv模块。直接写入文件会更容易:

outputFile1.write ("%d,\n" % k)

我很乐意帮忙,但目前这不是一个问题。您的问题到底是什么?我应该如何格式化csv文件,以及是否有我没有想到的方法来获得正确的格式?
对于allArray中的k:
?为什么不直接写allArray呢。然后它将是一行我不希望它都在一行tho@cricket_007;是的,但该文件需要与调酒师兼容,除非格式是正确的,否则它将无法工作correct@Joe“调酒师”?是的,它用于标签请粘贴一个示例输出文件。如果只是数字后跟一个逗号,每行一个,我认为上面的代码应该可以工作(你试过了吗?)