Python 读取CSV文件

Python 读取CSV文件

CSV(Comma Separated Values)是一种常用的文件格式,常用于数据的存储和传输。在Python中,读取和处理CSV文件非常方便,接下来我们将介绍如何使用Python读取CSV文件。

读取CSV文件

Python内置的csv模块提供了读取CSV文件的功能。我们可以使用csv模块的Reader对象读取CSV文件,Reader对象会自动将CSV文件的内容解析成二维数组。

下面是一个简单的CSV文件data.csv

name,age,gender
Tom,18,Male
Lucy,22,Female
Bob,20,Male

我们可以使用以下代码读取该文件:

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

运行结果为:

['name', 'age', 'gender']
['Tom', '18', 'Male']
['Lucy', '22', 'Female']
['Bob', '20', 'Male']

我们可以发现,每一行的数据被保存为一个列表,所有行的数据被保存为一个二维数组。

CSV文件的参数设置

csv模块提供了一些参数,可以控制csv文件的格式,例如:

  • delimiter:设置 CSV 文件的分隔符,默认为逗号。
  • quotechar:设置 CSV 文件的引号字符,默认为双引号。
  • quoting:设置 CSV 文件的引号规则,例如是使用双引号包围非数字的数据,还是不使用引号包围,默认为引用所有非数字类型数据。

我们可以使用以下代码设置这些参数:

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f, delimiter='|', quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
    for row in reader:
        print(row)

写入CSV文件

除了读取CSV文件,Python还可以使用csv模块将数据写入CSV文件。我们可以使用csv模块的Writer对象实现将数据写入CSV文件。

下面是将数据写入CSV文件的示例代码:

import csv

with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['name', 'age', 'gender'])
    writer.writerow(['Tom', '18', 'Male'])
    writer.writerow(['Lucy', '22', 'Female'])
    writer.writerow(['Bob', '20', 'Male'])

示例代码将数据写入CSV文件output.csv中。

Python还支持将一个二维数组写入CSV文件。如果要将二维数组写入CSV文件,示例代码如下:

import csv

data = [['name', 'age', 'gender'], 
        ['Tom', '18', 'Male'], 
        ['Lucy', '22', 'Female'], 
        ['Bob', '20', 'Male']]

with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(data)

运行结果为:

name,age,gender
Tom,18,Male
Lucy,22,Female
Bob,20,Male

结论

使用Python读取和写入CSV文件非常方便,csv模块提供了很多参数可以控制CSV文件的格式,如果常常需要操作CSV文件,建议掌握csv模块的使用方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程