CSV 文件或“逗号分隔值”文件与 Excel 工作表类似,并且具有“.csv”扩展名。它们用于以表格方式存储用逗号分隔的信息。这是大型数据系统存储数据记录的最常见方式。
csv 文件中也有行和列,就像表中一样。行称为数据记录,列称为字段。
由于 CSV 文件是简单的文本文件,因此更易于用于网站开发。CSV 文件还可以轻松导出到电子表格中,并在数据库管理系统中使用,没有太多麻烦。当我们需要组织大量数据时,它们也会派上用场。
在 Python 中创建 CSV 文件:基础知识
在Python中创建CSV文件主要有四个步骤。他们是:
- 我们需要以 write(‘w’) 模式打开() 文件。
- 接下来我们将创建一个 writer() 对象,它将帮助我们将数据写入 CSV 文件。
- 在第三步中,我们将使用 writerows() 或 writerow() 函数将行写入文件中。
- 最后保存并关闭我们的文件。
要在 Python 中创建数据并将其保存到 CSV 文件,请使用内置的“csv”模块。有两个主要类“csv.writer”和“csv.DictWriter”,它们帮助创建数据并将数据写入 CSV 文件。对“csv.writer”类使用“writerow()”或“writerows()”函数,对“csv.DictWriter”类使用“writeheader()”函数。
在 Python 中写入 CSV 文件的方法
csv 文件的编写器主要有两种类型。它们都可用于将数据写入 csv 文件。这两个类是:
csv. writer class
– 用于将数据写入 CSV 文件。它是一个将信息转换为分隔字符串的编写器对象。该函数的语法是csv. writer(name_or_path_of_file)
. 这是在 Python 中从列表编写 CSV 文件的最常见方法。该类提供两种类型的函数。- 该
writerow()
函数在 csv 文件打开时将新行或数据记录一一写入其中。 - 该
writerows()
函数在使用时将新行全部写入 csv 文件内。 csv.dictWriter class
顾名思义,另一类 CSV 编写器将 Python 字典写入 CSV 文件。语法为:csv.DictWriter(filename,fieldnames)
其中,文件名是所需文件的名称,字段名称是每列的名称。这个类只有一个功能。- 该
writeheader()
函数仅使用列名称写入第一行。
方法 1:使用 csv.writer 类写入 CSV 文件
我们将 4 位学生 Varun、Rahul、Kabir 和 Suman 在英语、数学、科学和社会科学 4 个科目中的成绩写入一个名为 Student_results.csv 的 csv 文件。我们将使用函数打开文件with open()
,这样就无需在程序结束时显式关闭文件。
# importing required module import csv # opening the file with open ( "student_results.csv" , "w" , newline = "") as f: # creating the writer writer = csv.writer(f) # using writerow to write individual record one by one writer.writerow([ "Name" , "English" , "Math" , "Science" , "Social Science" ]) writer.writerow([ "Varun" , "91" , "90" , "74" , "80" ]) writer.writerow([ "Rahul" , "89" , "94" , "81" , "86" ]) writer.writerow([ "Kabir" , "80" , "93" , "88" , "82" ]) writer.writerow([ "Suman" , "80" , "75" , "98" , "85" ]) |
上面的内容也可以使用 writerows() 函数在一个列表中一次性重写,如下所示:
# importing required module import csv # opening the file with open ( "student_results.csv" , "w" , newline = "") as f: # creating the writer writer = csv.writer(f) # using writerows, all rows at once Our_list = [ [ "Name" , "English" , "Math" , "Science" , "Social Science" ], [ "Varun" , "91" , "90" , "74" , "80" ], [ "Rahul" , "89" , "94" , "81" , "86" ], [ "Kabir" , "80" , "93" , "88" , "82" ], [ "Suman" , "80" , "75" , "98" , "85" ], ] writer.writerows(Our_list) |
当您打开并查看名为“students_results.csv”的 csv 文件时,上述两个代码块都会给出相同的结果
Name,English,Math,Science,Social Science Varun,91,90,74,80 Rahul,89,94,81,86 Kabir,80,93,88,82 Suman,80,75,98,85 |
瞧!您已使用 Python 成功写入 csv 文件。
方法2:使用csv.DictWriter类写入CSV文件
在此示例中,我们将字段名称设置为字典的键,将各个值设置为每行中的数据。我们将使用上例中的相同数据,即 4 个姓名和 4 个科目获得的分数。我们将所有信息合并到一个字典中,并使用 writeheader() 函数写入该字典。我们来看看它的实现。
# importing required module import csv # creating the dictionary Our_dict = [ { "Name" : "Varun" , "English" : "91" , "Math" : "90" , "Science" : "80" , "Social Science" : "93" , }, { "Name" : "Rahul" , "English" : "94" , "Math" : "75" , "Science" : "88" , "Social Science" : "70" , }, { "Name" : "Kabir" , "English" : "81" , "Math" : "99" , "Science" : "91" , "Social Science" : "89" , }, { "Name" : "Suman" , "English" : "92" , "Math" : "97" , "Science" : "94" , "Social Science" : "71" , }, ] # extracting fieldnames columns = [ "Name" , "English" , "Math" , "Science" , "Social Science" ] # opening the file with open ( "student_results.csv" , "w" , newline = "") as f: # using dictwriter writer = csv.DictWriter(f, fieldnames = columns) # using writeheader function writer.writeheader() |
输出将与上面的部分相同。
Name,English,Math,Science,Social Science Varun,91,90,80,93 Rahul,94,75,88,70 Kabir,81,99,91,89 Suman,92,97,94,71 |
结论:使用 Python 掌握 CSV 文件
使用 Python 中名为 csv 的内置模块将数据写入 csv 文件非常容易。CSV 的完整形式是逗号分隔值。它以表格的形式存储数据,使其更易于阅读和组织。当存在大量数据以及数据库管理系统时,它非常有用。我们已经了解了可用于从 python 写入 CSV 文件的各种方法和函数。感谢您的阅读!