Pandas读取CSV遇字段数不匹配错误,如何提取指定单元格数据?
解决CSV混合结构数据的目标值提取问题
方法一:分两次读取,分离目标值与主数据
- 先读取前2行获取包含
mindsCode的数据集,提取目标值 - 再从第4行开始读取19字段的主数据
import pandas as pd # 提取第2行的mindsCode值 top_data = pd.read_csv('your_file.csv', nrows=2) target_mindscode = top_data.loc[1, 'mindsCode'] # 读取主数据(跳过前3行) main_dataset = pd.read_csv('your_file.csv', skiprows=3)
方法二:逐行读取灵活处理
用Python内置csv模块逐行解析,精准控制每一行的处理逻辑:
import pandas as pd import csv target_mindscode = None main_records = [] with open('your_file.csv', 'r', newline='') as csvfile: reader = csv.reader(csvfile) # 处理前2行,提取目标值 header_top = next(reader) data_row = next(reader) code_col_index = header_top.index('mindsCode') target_mindscode = data_row[code_col_index] # 跳过第3行(无关行) next(reader) # 读取主数据的表头和内容 header_main = next(reader) for row in reader: main_records.append(row) # 转换为主数据DataFrame main_dataset = pd.DataFrame(main_records, columns=header_main)
两种方法都能高效获取目标值M607538,同时完整保留后续的19字段数据集。根据实际文件的第3行内容(比如是否为空行或无关注释),可调整跳过逻辑。
内容的提问来源于stack exchange,提问作者caledonian26
相关产品推荐
相关产品推荐

