如何从文本文件中命名熊猫数据框列

时间:2018-08-21 03:58:15

标签: pandas

我有两个文本文件,一个是数据,一个是标题。

数据在数据框中看起来像这样: Pymongo return values only as list 标题文本文件如下所示:

`[TramDateDimension]
(
       [Date]
      ,[CalendarYear]
      ,[FinancialYear]
      ,[FinancialMonth]
      ,[CalendarMonth]
      ,[CalendarMonthSeq]
      ,[CalendarQuarter]
      ,[FinancialQuarter]
      ,[CalendarWeek]...)
`

如何使用此文本文件命名列?

1 个答案:

答案 0 :(得分:1)

首先使用正则表达式返回[]之间的所有值:

import re
with open("headers.txt") as f:
        s = ''.join(f.readlines())
        headers = re.findall('\[(.*?)\]',s)

print (headers)
['TramDateDimension', 'Date', 'CalendarYear', 'FinancialYear', 
 'FinancialMonth', 'CalendarMonth', 'CalendarMonthSeq', 
 'CalendarQuarter', 'FinancialQuarter', 'CalendarWeek']

然后使用参数namesheader[1:]调用read_csv,以删除标题列表的第一个值:

df = pd.read_csv('file.csv', names=headers[1:])