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模块的使用方法。