我正在尝试批量读取csv文件并通过一些回调处理批处理.
import csv
with open('file.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
header = next(reader) # skip header
batch_size = 3
batch = []
count = 0
for row in reader:
if count >= batch_size:
do_something(batch)
batch = []
count = 0
batch.append(row)
count += 1
Run Code Online (Sandbox Code Playgroud)
假设CSV文件有10行(没有标题),而batch_size是3.预期结果应为4批次.3批次,3行,第4批次只包含1行.我写的代码只产生3批.如果批量大小为1/2/5/10 - 一切正常.