首页 > 解决方案 > 如何从文本文件中命名熊猫数据框列

问题描述

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

数据框中的数据如下所示: 在此处输入图像描述 标题文本文件如下所示:

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

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

标签: pandas

解决方案


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

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']

然后read_csv使用参数nameswith调用header[1:]以删除标头列表的第一个值:

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

推荐阅读