Прочитать все, кроме последней строки CSV-файла в pandas
У меня есть CSV-файлы, которые я читаю в pandas с:
#!/usr/bin/env python
import pandas as pd
import sys
filename = sys.argv[1]
df = pd.read_csv(filename)
К сожалению, последняя строка этих файлов часто повреждена (имеет неправильное количество запятых). В настоящее время я открываю каждый файл в текстовом редакторе и удаляю последнюю строку.
Можно ли удалить последнюю строку в том же скрипте python / pandas, который загружает CSV, чтобы избежать необходимости выполнять этот дополнительный неавтоматизированный шаг?
2 ответов:
Пас
error_bad_lines=Falseи он пропустит эту строку автоматическиdf = pd.read_csv(filename, error_bad_lines=False)Преимущество
error_bad_linesв том, что он будет пропускать и не Борк на любых ошибочных строках, но если последняя строка всегда Дафф, тоskipfooter=1лучшеСпасибо @DexterMorgan за указание на то, что опция
skipfooterзаставляет движок использовать движок python, который медленнее, чем движок c для разбора csv.
Читать http://pandas.pydata.org/pandas-docs/version/0.16.2/generated/pandas.read_csv.html . здесь аргумент 'skipfooter' можно использовать для указания отсутствия строк ,которые вы не хотите читать.csv-файл с конца. Может быть, это поможет вам.
Comments