下面是一个完全封装的示例,其中包含了常用的读取、写入、追加和删除功能,并解释了每个函数的含义和每行代码的作用
import csv
import os
class CSVHandler:
def __init__(self,file_path):
"""
初始化CSVHandler对象
:param file_path: csv文件的路径
"""
self.file_path = file_path
def read_csv(self):
"""
读取csv文件并返回一个包含所有数据行的列表
:return:
"""
data = []
with open(self.file_path,'r',newline='') as file:
reader = csv.reader(file)
for row in reader:
data.append(row)
for row in data:
print(row)
def get_csv_cell_value(self,row_number,col_letter):
"""
获取指定单元格的值
:param row_number:
:param col_letter:
:return:
"""
with open(self.file_path,'r',newline='') as file:
reader = csv.reader(file)
data = list(reader)
row_index = row_number -1 #指定行号
col_index = ord(col_letter.lower()) - 97 #ASCII值减去97得到相应的列索引
cell_value = data[row_index][col_index]
return cell_value
def write_csv(self,data):
"""
将数据写入csv文件(覆盖原有内容)
:param data: 要写入的数据,一个由字段组成的嵌套列表
:return:
"""
with open(self.file_path,'w',newline='') as file:
writer = csv.writer(file)
for row in data:
writer.writerow(row)
def append_csv(self,data):
"""
将数据追加到csv文件末尾
:param data: 要追加的数据,一个由字段组成的嵌套列表
:return:
"""
with open(self.file_path,'a',newline='') as file:
writer = csv.writer(file)
for row in data:
writer.writerow(row)
def delete_csv(self):
"""
删除csv文件
"""
if os.path.exists(self.file_path):
os.remove(self.file_path)
if __name__ == '__main__':
pass
file_path = r"D:\1.csv"
# CSVHandler(file_path).read_csv()
# print(CSVHandler(file_path).get_csv_cell_value(row_number=2, col_letter='C'))
# print(CSVHandler(file_path).get_csv_cell_value(row_number=1, col_letter='C'))
解释每个函数的含义和每行代码的作用:
import csv:导入csv模块以便处理CSV文件。
class CSVHandler::创建一个名为CSVHandler的类来封装CSV操作功能。
def __init__(self, file_path)::类的构造函数,初始化CSVHandler对象。
self.file_path = file_path:将传入的file_path值存储在对象的file_path属性中。
def read_csv(self)::定义一个读取CSV文件的方法。
data = []:创建一个空列表data,用于存储读取的数据行。
with open(self.file_path, 'r', newline='') as file::打开指定路径的CSV文件,使用with语句可以确保在读取完文件后正常关闭。
reader = csv.reader(file):创建一个csv.reader对象,用于读取CSV文件。
for row in reader::遍历每一行数据。
data.append(row):将每一行数据添加到data列表中。
return data:返回包含所有数据行的列表。
def write_csv(self, data)::定义一个写入CSV文件的方法。
with open(self.file_path, 'w', newline='') as file::打开指定路径的CSV文件,使用with语句可以确保在写入完文件后正常关闭。
writer = csv.writer(file):创建一个csv.writer对象,用于写入CSV文件。
for row in data::遍历数据列表中的每一行数据。
writer.writerow(row):将每一行数据写入CSV文件。
def append_csv(self, data)::定义一个追加数据到CSV文件的方法。
with open(self.file_path, 'a', newline='') as file::打开指定路径的CSV文件,使用with语句可以确保在追加完数据后正常关闭。
writer = csv.writer(file):创建一个csv.writer对象,用于写入CSV文件。
for row in data::遍历数据列表中的每一行数据。
writer.writerow(row):将每一行数据追加到CSV文件。
def delete_csv(self)::定义一个删除CSV文件的方法。
import os:导入os模块,