不使用任何导入库时如何替换CSV文件中字符串的指定值
问题原因
- 你当前代码每轮循环执行了2次打印操作,导致额外输出了单独的日期行,不符合需求
- 直接用逗号拆分原始行时,日期字段内部自带逗号,会把单个日期拆分为2个元素,同时日期字段自带的双引号也没有处理
- 你设置的
N=5会输出5行,需求是输出前3行,需要调整N值
调整思路
- 先整行去除双引号,避免后续拆分被日期内的逗号干扰,同时去除日期字段的包裹引号
- 按逗号拆分后,把被拆分的日期两部分拼接成无逗号的目标格式
- 只保留一次打印操作,拼接所有字段输出
- 将N调整为3,只输出前三行结果
调整后代码示例
N=3 with open(DATA) as file: next(file) # 跳过表头 for i in range(N): line = next(file).strip() # 先删除整行所有双引号 line_no_quote = line.replace('"', '') # 按逗号拆分 parts = line_no_quote.split(',') # 拼接日期:parts[2]是月份加日期,parts[3]是年份,拼接后得到目标格式 date = f"{parts[2].strip()} {parts[3].strip()}" # 组装最终行输出 res_line = f"{parts[0]},{parts[1]},{date},{parts[4]}" print(res_line)
内容的提问来源于stack exchange,提问作者user15373826
相关产品推荐
相关产品推荐

