У меня есть файл csv, содержащий несколько столбцов, и мне нужны только два с заголовками «адрес» и «порт». Я пробую эту простую функцию с Panda, но получаю ошибки. идеи, что проблема благодаряОбрезать столбцы в CSV с Python и Pandas
входной файл имеет столбцы с заголовками:. Start Time, время окончания, адрес, поставщика, имя хоста, порт, состояние, обслуживание, сценарий, выходные
import pandas as pd
def trim_scan(infile, outdir):
df = pd.read_csv(infile)
keep_cols = ["address", "port"]
new_df = df[keep_cols]
new_df.to_csv(outdir + '/' + 'nmap-ip-ports.csv', index=False)
trim_scan('nmap-scan.csv', '2015-07-27')
Это ошибка:
Traceback (most recent call last):
File "test3.py", line 64, in <module>
trim_scan('nmap-scan.csv', '2015-07-27')
File "test3.py", line 59, in trim_scan
df = pd.read_csv(infile)
File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 474, in parser_f
return _read(filepath_or_buffer, kwds)
File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 260, in _read
return parser.read()
File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 721, in read
ret = self._engine.read(nrows)
File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 1170, in read
data = self._reader.read(nrows)
File "pandas/parser.pyx", line 769, in pandas.parser.TextReader.read (pandas/parser.c:7544)
File "pandas/parser.pyx", line 791, in pandas.parser.TextReader._read_low_memory (pandas/parser.c:7784)
File "pandas/parser.pyx", line 844, in pandas.parser.TextReader._read_rows (pandas/parser.c:8401)
File "pandas/parser.pyx", line 831, in pandas.parser.TextReader._tokenize_rows (pandas/parser.c:8275)
File "pandas/parser.pyx", line 1742, in pandas.parser.raise_parser_error (pandas/parser.c:20691)
pandas.parser.CParserError: Error tokenizing data. C error: Expected 12 fields in line 6, saw 14