如何使用python跳过用作列标题的文本

时间:2016-04-08 04:29:11

标签: python pandas text import columnheader

我使用Pandas在Python中导入Web日志文本文件。 Python正在读取标题,但是使用了文本“Fields:”作为标题,然后在最后添加了另一列空格(NaN)。如何阻止将此文本用作列标题?

这是我的代码:

arr = pd.read_table("path", skiprows=3, delim_whitespace=True,      na_values=True)

这是文件的开头:

软件:Microsoft Internet Information Services 7.5

版本:1.0

日期:2014-08-01 00:00:25

字段:日期时间

2014-08-01 00:00:25 ......

结果是'Fields'被用作列标题,并且正在为列'time'创建一个充满NaN值的列。

2 个答案:

答案 0 :(得分:1)

我认为您可能需要skiprows = 4header = None

答案 1 :(得分:1)

您可以两次拨打read_table

# reads the forth line into 1x1 df being a string, 
# then splits it and skips the first field:
col_names = pd.read_table('path', skiprows=3, nrows=1, header=None).iloc[0,0].split()[1:]
# reads the actual data:
df = pd.read_table('path', sep=' ', skiprows=4, names=col_names)

如果您已经知道列的名称(例如datetime),那么它甚至更简单:

df = pd.read_table('path', sep=' ', skiprows=4, names = ['date', 'time'])