使用Python的csv模块读取CSV文件特定行的技术咨询
用Python csv模块读取CSV特定行的解决方案
没问题,我来帮你搞定这份招聘CSV的特定行读取需求。先明确下你的CSV结构:假设表头是职位,分类,公司,展位,全职,全职签证担保,兼职,实习,面向人群(如果实际表头有差异,你只需要对应调整字段名就行)。下面给你几种常见场景的具体实现代码:
场景1:按行号读取特定行(比如第3行)
如果知道目标行的索引(注意csv.reader从0开始计数,表头是第0行的话,数据行从第1行开始),可以用这个方法:
import csv # 定义要读取的目标行索引(比如要读第3行,索引就是2) target_row_index = 2 with open('recruitment.csv', 'r', encoding='utf-8') as file: reader = csv.reader(file) for index, row in enumerate(reader): if index == target_row_index: print(f"第{target_row_index+1}行内容:{row}") break
场景2:按公司名称读取特定行(比如读取"AIG"的招聘信息)
用csv.DictReader会更直观,它能直接通过字段名访问对应值,适合按内容匹配的场景:
import csv target_company = "AIG" with open('recruitment.csv', 'r', encoding='utf-8') as file: # DictReader自动把第一行作为表头,每行数据是一个字典 reader = csv.DictReader(file) for row in reader: if row['公司'] == target_company: print(f"{target_company}的招聘详情:") print(f"展位:{row['展位']}") print(f"全职:{row['全职']}") print(f"面向人群:{row['面向人群']}") # 其他字段可以按需打印 break
场景3:按展位号读取特定行(比如读取展位10的行)
类似上面的逻辑,匹配展位字段即可,注意处理像"27/28"这种多展位的格式:
import csv target_booth = "10" with open('recruitment.csv', 'r', encoding='utf-8') as file: reader = csv.DictReader(file) for row in reader: # 支持匹配包含目标展位号的行(比如处理"27/28"这种格式) if target_booth in row['展位']: print(f"展位{target_booth}的招聘信息:") print(f"公司:{row['公司']}") print(f"全职签证担保:{row['全职签证担保']}") print(f"面向人群:{row['面向人群']}") break
小提示
- 确保CSV文件编码正确,这里用了
utf-8,如果是GBK等其他编码,记得修改encoding参数。 - 如果CSV存在空值或格式不一致的情况,可以加个异常处理块,避免程序崩溃。
- 如果要读取多个符合条件的行,去掉代码里的
break,把结果存到列表里后续处理就行。
内容的提问来源于stack exchange,提问作者PKPython




