Issue #29405: Make total calculation in _guess_delimiter more accurate.
diff --git a/Lib/csv.py b/Lib/csv.py
index 0349e0b..6a85876 100644
--- a/Lib/csv.py
+++ b/Lib/csv.py
@@ -307,7 +307,7 @@
charFrequency = {}
modes = {}
delims = {}
- start, end = 0, min(chunkLength, len(data))
+ start, end = 0, chunkLength
while start < len(data):
iteration += 1
for line in data[start:end]:
@@ -336,7 +336,7 @@
# build a list of possible delimiters
modeList = modes.items()
- total = float(chunkLength * iteration)
+ total = float(min(chunkLength * iteration, len(data)))
# (rows of consistent data) / (number of rows) = 100%
consistency = 1.0
# minimum consistency threshold