如果我有两个列表,如何将它们的值导出到excel文件中?

2024-05-17 04:36:19 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有两个这样的列表:

x = [1, 2, 3]

y = [5, 6, 8]

如何获取两个列表并将它们写入csv文件,以便列表x显示在第一行,列表y显示在下一行,例如:

15个

2.6条

3.8条

抱歉没有显示代码,这是为了证明我不仅仅是在偷窥。。你知道吗

        file_out = open('file.csv','wb')
        mywriter=csv.writer(file_out, delimiter = '\n')
        mywriter.writerow([x_list])
        file_out.close()

问题是,当我尝试用y列表做同样的事情时,它只是再次替换我设置为x列表的第一行。你知道吗

再次编辑:

        open("file.csv", "w")
        file_out = open('file.csv','wb')
        mywriter=csv.writer(file_out, delimiter = '\n')
        for i in range(0, len(x_list)):
                mywriter.writerow([x_list[i], y_list[i]])
        file_out.close()

新问题,它仍然在同一行打印所有的x和y。我妈妈就是不去下一排。你知道吗


Tags: 文件csv代码证明列表closeopenout
1条回答
网友
1楼 · 发布于 2024-05-17 04:36:19

循环遍历列表的索引并写入x[i]和y[i]值的数组的值。例如

for i in range(len(x)):
    csvwriter.writerow([x[i], y[i]])

现在,您只是告诉它输出一行,其中包含x的所有值

编辑

在您当前的代码中,有些代码是无关的。一个明显的问题是,您打开的文件是“wb”而不是“w”wb“以二进制模式打开文件,这不适合您的使用。以下代码在Python 2.7和3.4中都适用:

import csv

x_list = [1, 2, 3]
y_list = [5, 6, 8]
with open('file.csv', 'w') as file_out:
    mywriter = csv.writer(file_out)
    for i in range(len(x_list)):
        mywriter.writerow([x_list[i], y_list[i]])

相关问题 更多 >