如何从csv文件中的新文件中写入自定义表

时间:2019-04-23 10:01:20

标签: python pandas file csv

我已经编写了一个脚本来从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)

我正在尝试仅获取从eye开始的列名称, 但我收到此错误:

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 个答案:

答案 0 :(得分:2)



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)