📜  python中的csv(1)

📅  最后修改于: 2023-12-03 14:46:37.597000             🧑  作者: Mango

Python中的CSV

在Python中,CSV(Comma Separated Values)指的是一种常见的逗号分隔的文件格式,用于存储数据。CSV文件使用文本格式,可以轻松地与数据处理软件进行交互。

Python内置了一个库来处理CSV文件:csv库。csv库可以帮助我们读取、写入和操作CSV文件。

读取CSV文件

要读取CSV文件,首先需要导入csv库。下面是一个读取CSV文件的示例代码:

import csv

with open('data.csv', newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',', quotechar='"')
    for row in reader:
        print(row)

在这个示例中,我们打开了名为data.csv的文件,使用csv.reader()函数创建了一个读取器对象,并使用循环来遍历文件中的所有行并打印它们。

在csv.reader()函数中,我们指定了delimeter参数,该参数指定CSV文件中的字段分隔符。在此示例中,我们使用逗号作为分隔符。quotechar参数指定CSV文件中的字段引用符号,如果一个字段包含分隔符,则需要使用引号。在这个示例中,我们使用了双引号。

写入CSV文件

要写入CSV文件,我们可以使用csv.writer()函数。下面是一个写入CSV文件的示例代码:

import csv

with open('data.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['John', '25', 'Male'])
    writer.writerow(['Mary', '30', 'Female'])

在这个示例中,我们打开了名为data.csv的文件,并使用csv.writer()函数创建了一个写入器对象。在写入器对象中,我们可以使用writerow()函数将行写入文件。

在csv.writer()函数中,我们指定了delimiter参数、quotechar参数以及quoting参数。quoting参数告诉Python要如何引用字段。在此示例中,我们使用了csv.QUOTE_MINIMAL选项,这意味着csv库将仅在必要时才会引用字段。

CSV文件的处理

csv库还提供了其他功能来处理CSV文件,例如:

  • csv.DictReader:将CSV文件读取为字典对象。
  • csv.DictWriter:将字典写入CSV文件中。

下面是一个使用csv.DictReader和csv.DictWriter的示例代码:

import csv

with open('data.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['Name'], row['Age'], row['Gender'])

with open('new_data.csv', 'w', newline='') as csvfile:
    fieldnames = ['Name', 'Age', 'Gender']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'Name': 'John', 'Age': '25', 'Gender': 'Male'})
    writer.writerow({'Name': 'Mary', 'Age': '30', 'Gender': 'Female'})

在这个示例中,我们首先使用csv.DictReader()函数将CSV文件读取为字典对象,并使用循环遍历所有行并打印它们。

接下来,我们使用csv.DictWriter()函数创建一个写入器对象,并使用writerow()函数将字典写入CSV文件中。在调用writerow()函数之前,我们还需要通过调用writeheader()函数来写文件头。

总结

Python中的csv库是一个非常有用的库,可以轻松地读取、写入和处理CSV文件。我们可以使用csv.reader()和csv.writer()函数读取和写入CSV文件,或使用csv.DictReader()和csv.DictWriter()函数将CSV文件读取和写入字典。