Как получить запись пользовательских таблиц в новый файл из CSV-файла - PullRequest
0 голосов
/ 23 апреля 2019

Я написал скрипт для извлечения таблицы из файла CSV и записи нового файла CSV, который содержит эту таблицу.Итак, у меня есть этот код ниже:

import csv
import pandas as pd

with open("C:\\OpenFace\\x64\\Release\\processed\\webcam_2019-04-22-1552.csv") as csvfile:
    ddf= pd.read_table(csvfile,sep=" ")
    first_letters = ['eye']
    headers = ddf.dtypes.index
    df= pd.read_table(csvfile,sep=" ",names=[name for name in headers if (name[0] in first_letters)])
    print(df)

Я пытаюсь получить только имена столбцов, которые начинаются с глаза, но я получаю эту ошибку:

Traceback (most recent call last):
File "getpoints.py", line 8, in <module>
df= pd.read_table(csvfile,sep=" ",names=[name for name in headers if 
(name[0] in first_letters)])
File "C:\Python36\lib\site-packages\pandas\io\parsers.py", line 678, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\Python36\lib\site-packages\pandas\io\parsers.py", line 440, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "C:\Python36\lib\site-packages\pandas\io\parsers.py", line 787, in __init__
self._make_engine(self.engine)
File "C:\Python36\lib\site-packages\pandas\io\parsers.py", line 1014, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "C:\Python36\lib\site-packages\pandas\io\parsers.py", line 1708, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas\_libs\parsers.pyx", line 542, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file

Как решить эту проблему?Есть идеи?

Спасибо.

1 Ответ

2 голосов
/ 23 апреля 2019


import csv
import pandas as pd

#Read the only the header, i.e column names and breaks the execution 
#as only the column names is to be fetched.

with open("C:/path/to/.csv", "rb") as f:
    reader = csv.reader(f)
    columns = reader.next()
    break


columns = list(filter(lambda x: x.startswith("eye"), columns))

df = pd.read_csv("C:/path/to/.csv", sep=" ", names=columns)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...