用Python将列表转换为CSV文件

944 阅读2分钟

列表是python中最经常使用的数据结构之一。在这篇文章中,我们将讨论如何在python中把列表转换为CSV文件。

目录

在 Python 中使用 csv.writer() 将列表转换为 CSV 文件

csv 模块为我们提供了不同的方法来对 CSV 文件执行各种操作。要在 python 中将列表转换为 CSV,我们可以使用 csv.writer() 方法和 csv.writerow() 方法。为此,我们将使用以下步骤。

  • 首先,我们将使用open()函数以写模式打开一个csv文件。open()函数将文件名作为第一个输入参数,将文字 "w "作为第二个输入参数,以表明该文件将以写模式打开。它返回一个文件对象,其中包含由open()函数创建的空csv文件。
  • 打开文件后,我们将使用csv.writer()方法创建一个csv.writer对象。csv.writer()方法将文件对象作为一个输入参数,并返回一个writer对象。一旦作家对象被创建,我们就可以使用csv.writerow()方法将列表中的数据添加到csv文件中。
  • csv.writerow()方法在对写作者对象调用时,会接收一个值列表并将其添加到写作者对象所指的csv文件中。
  • 首先,我们将添加CSV文件的头。为此,我们将向writerow()方法传递一个列名列表。
  • 在添加页眉之后,我们将使用 writerow()方法的for循环来添加每个列表到csv文件中。在这里,我们将把每个列表逐一传递给writerow()方法。writerow()方法将列表添加到csv文件中。

执行for循环后,列表中的数据将被添加到CSV文件中。为了保存数据,你应该使用close()方法关闭文件。否则,任何变化都不会被保存到csv文件中。

使用csv.writer()方法将一个列表转换成csv文件的源代码如下。

import csv

listOfLists = [["Aditya", 1, "Python"], ["Sam", 2, 'Java'], ['Chris', 3, 'C++'], ['Joel', 4, 'TypeScript']]
print("THe list of lists is:")
print(listOfLists)
myFile = open('demo_file.csv', 'w')
writer = csv.writer(myFile)
writer.writerow(['Name', 'Roll', 'Language'])
for data_list in listOfLists:
    writer.writerow(data_list)
myFile.close()
myFile = open('demo_file.csv', 'r')
print("The content of the csv file is:")
print(myFile.read())
myFile.close()

输出。

THe list of lists is:
[['Aditya', 1, 'Python'], ['Sam', 2, 'Java'], ['Chris', 3, 'C++'], ['Joel', 4, 'TypeScript']]
The content of the csv file is:
Name,Roll,Language
Aditya,1,Python
Sam,2,Java
Chris,3,C++
Joel,4,TypeScript

结论

在这篇文章中,我们讨论了在 python 中将列表转换为 csv 文件的方法。在这些方法中,每个列表将被添加到 csv 文件中,无论它与 csv 中的列相比是否具有相同的元素数量。因此,建议确保每个元素都有相同数量的元素。另外,你应该确保列表中的元素的顺序应该是相同的。否则,追加到csv文件中的数据将变得不一致,并导致错误。