将整个列表写入 csv 中的一行 python

writing a whole list into one row in csv python

我有一个列表和一个变量

myList = ['a', 'b', 'c', 'd']
myVariable = 10

我想使用 Python 将此列表和变量写入 CSV 文件,应该这样写(但相邻值之间有制表符,没有“,”):

10 a b c d

而不是这样:

10
a
b
c
d

到目前为止我有:

myList = ['a', 'b', 'c', 'd']
file = open("CSVfile" + '.csv','w', newline='', encoding='utf-8')
writer = csv.writer(file)
writer.writerow(myVariable)
writer.writerow(myList)

首先,尽量不要将变量命名为与内置类型(列表)相同的名称。这会破坏很多东西。 编辑:nvm 我看到你编辑了你的 post.

您可以将列表和变量合并成一个字符串,然后编写它。你甚至不需要 csv 编写器。

myList = [a,b,c,d]
with open("CSVfile" + '.csv','w', encoding='utf-8') as f:
    line = '\t'.join([myVariable] + myList)
    f.write(line + '\n')

如果你想按照你的问题建议使用 csv 模块(文档here),你可以这样做:

import csv
myList = ['a', 'b', 'c', 'd']
myVariable = 10
with open('CSVfile.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file, delimiter='\t')
    writer.writerow([myVariable] + myList)

请注意,delimiter 在对 csv.writer() 的调用中指定为 '\t'(制表符),我们附加变量和列表以创建一个新列表,用作writerow().

的参数