Python打开CSV文件
CSV文件是什么?
CSV全称为逗号分割值(Comma Separated Values),可以认为它是一种用于存储数据的文件格式,其每行表示一条记录,每条记录包含若干个字段,字段之间使用特定分隔符进行区分。通常,CSV文件中使用逗号作为字段分隔符,但是也可以使用其他符号,例如分号、制表符等。
Python中读取CSV文件
Python中提供了许多库用于读写CSV文件,其中比较常用的是csv库。
使用csv库读取CSV文件
csv库是Python内置的用于读写CSV文件的标准库之一。使用csv库读取CSV文件非常简单,只需要打开CSV文件,然后创建csv.reader对象,通过该对象读取CSV文件中的每一行数据即可。如果CSV文件中某些字段之间使用的不是逗号分割符,可以通过指定delimiter参数来指定分隔符。
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
上面的代码中,首先使用open函数打开CSV文件,然后使用csv.reader函数创建csv.reader对象,并将该对象赋值给变量reader。最后,使用for循环遍历csv.reader对象,读取CSV文件中的每一行数据。运行上述代码后,会将CSV文件中的每一行数据打印出来。
使用pandas库读取CSV文件
pandas库是另一个常用于读写CSV文件的Python库。相比于csv库,pandas库提供了更加强大的数据处理和分析功能。使用pandas库读取CSV文件也非常简单,只需要使用pandas.read_csv函数即可。下面是一个示例:
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
上面的代码中,使用pandas.read_csv函数读取CSV文件,将CSV文件中的数据读取为pandas.DataFrame对象,并将该对象赋值给变量df。最后,使用print函数输出df对象的内容。运行上述代码后,会将CSV文件中的所有数据以表格的形式打印出来。注意,如果CSV文件中存在中文等非英文字符,可能需要指定encoding参数。
Python中写入CSV文件
使用Python写入CSV文件也非常简单,只需要创建csv.writer对象,然后利用该对象将数据写入到CSV文件中即可。
import csv
data = [
['Name', 'Age', 'Gender'],
['Jack', 18, 'Male'],
['Lucy', 20, 'Female']
]
with open('data.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
上面的代码中,首先定义了一个二维列表data,该列表中包含多行数据。然后,使用open函数打开CSV文件,通过csv.writer函数创建csv.writer对象,并将该对象赋值给变量writer。最后,使用for循环遍历data列表,利用writer对象将数据逐行写入到CSV文件中。
结论
在Python中,使用csv库和pandas库都可以很方便地读写CSV文件。对于简单的CSV文件,推荐使用csv库进行读写操作;对于复杂的CSV文件,推荐使用pandas库进行数据处理和分析。