我有一些数据文件是由我实验室中使用的一些相当hackish脚本生成的。该脚本非常有趣,因为它在标题之前附加的行数因文件而异(尽管它们具有相同的格式且具有相同的标题)。
我正在编写一个批处理来处理所有这些文件到数据帧。如果我不知道位置,怎么能让大熊猫识别出正确的标题呢?我知道确切的标题文本,以及直接出现在它之前的两行文本(它们是文档中\r\n
的唯一连续实例)。
我试图在文档末尾定义空跳过并选择(谢天谢地)每个文件包含的固定数量的数据行:
df = pd.read_csv(myfile, skipfooter=0, nrows=267)
那不起作用。
您还有其他想法吗?
答案 0 :(得分:2)
你可以打开文件并迭代它直到满足连续\r\n
,并将结果传递给解析器,即
with open(csv_file_name, 'rb') as source:
consec_empty_lines = 0
for line in source:
if line == '\r\n':
consec_empty_lines += 1
if consec_empty_lines == 2:
break
else:
consec_empty_lines = 0
df = pd.read_csv(source)