如何用Python识别含不定数量逗号的CSV空行?
识别含可变数量逗号的CSV空行解决方案
原代码通过判断行是否等于'\n'来定位数据起始的空行,但老版Excel生成的CSV会把空行写成仅包含任意数量逗号加换行的格式,导致原逻辑失效。
修改后的代码可以同时兼容两种空行格式:
import pandas as pd file = "sequence.csv" f = open(file) # 修改判断逻辑:处理后为空的行即为目标空行 while True: line = f.readline() # 去掉首尾空白(含换行),再移除所有逗号,若结果为空则停止循环 if not line.strip().replace(',', ''): break df = pd.read_csv(f, header=None) f.close()
逻辑说明
line.strip():移除行首尾的换行符、空格等空白字符,纯换行的行处理后会变成空字符串.replace(',', ''):把行内所有逗号替换为空,全是逗号的行处理后也会变成空字符串if not ...:只要处理后的内容为空,就判定为我们要找的分隔空行,停止循环
内容的提问来源于stack exchange,提问作者bnoouhl
相关产品推荐
相关产品推荐

