跳过之后报告长什么样
清洗时把坏行号记下来,最后拼一句报告。运行程序:
import csv, io
SALES = ("date,store,item,qty,price\n2026-09-01,东门,包子,10,2\n2026-09-01,东门,豆浆, 8 ,3\n2026-09-01,西门,油条,,2.5\n2026-09-01,西门,包子,10,2\n2026-09-01,东门,包子,10,2\n2026-09-02,北门,豆浆,five,3\n2026-09-02,北门,油条,4,2.5\n2026-09-02,西门,豆浆,6,3\n")
good, bad = [], []
for i, r in enumerate(csv.DictReader(io.StringIO(SALES)), 2):
q = r["qty"].strip() or "0"
try:
int(q)
good.append(r)
except ValueError:
bad.append(i)
print("处理" + str(len(good)) + "行,跳过" + str(len(bad)) + "行:" + ",".join(str(b) for b in bad))
全部评论