使用场景:
只想读取csv部分的列或有条件限制的读取数据,返回的数据是一个包含dict的列表数据方便直接处理数据。
import json import pandas as pd from pandas._typing import FilePathOrBuffer def read_csv(csv_path: FilePathOrBuffer, field_list=None, query_list={}): """ 读取csv指定字段 :param csv_path: csv文件路径 :param field_list: 需要读取的csv标头 :param query_list: 筛选条件 :return: 一个包含dict的列表数据 """ df = pd.read_csv(csv_path) values = json.loads(df.T.to_json()).values() data_list = [ {field: value[field] for field in field_list} if isinstance(field_list, list) else value for value in values] record_list = [] index = 0 if isinstance(query_list, dict): for query in query_list.keys(): for data in data_list: if data[query] != query_list[query]: record_list.append(index) index += 1 for subscript in reversed(record_list): del data_list[subscript] return data_list