如何将python数组(List)转换为CSV



我的csv输出没有按照我计划的方式出来。 我的代码:

first_row = list(ws.rows)[1]
first_row_values = []
first_row_values.append(value1)
first_row_values.append(value2)
first_row_values.append(value3)
first_row_values.extend([cell.value for cell in first_row])
print(first_row_values)
writer = csv.writer(open('output.csv', 'a+'))
writer.writerow([first_row_values])

文件中的输出如下所示:

"['value1', 'value2', 'value3', 'valueA', 'valueB', 'valueC', 'valueD', 'valueE', 'valueF', 'valueG', 'valueH', 'valueI', 'valueJ']"

我期待 csv 输出:

'value1', 'value2', 'value3', 'valueA', 'valueB', 'valueC', 'valueD', 'valueE', 'valueF', 'valueG', 'valueH', 'valueI', 'valueJ'

我在这里错过了什么?

正如Mad Physicist和Anton vBR所说,方括号的集合,[],是问题所在。当你在python中将这些括号放在某些东西周围时,它将在执行时创建一个列表。因此,通过将列表对象 first_row_values 放在方括号内,您将列表嵌套在新列表中,作为其唯一元素。

只需删除方括号即可获得结果。

  writer.writerow(first_row_values)

最新更新