pandas - 如何从文本文件中命名熊猫数据框列
问题描述
我有两个文本文件,一个是数据,一个是标题。
数据框中的数据如下所示: 在此处输入图像描述 标题文本文件如下所示:
`[TramDateDimension]
(
[Date]
,[CalendarYear]
,[FinancialYear]
,[FinancialMonth]
,[CalendarMonth]
,[CalendarMonthSeq]
,[CalendarQuarter]
,[FinancialQuarter]
,[CalendarWeek]...)
`
如何使用此文本文件命名列?
解决方案
首先返回[]
与正则表达式之间的所有值:
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
使用参数names
with调用header[1:]
以删除标头列表的第一个值:
df = pd.read_csv('file.csv', names=headers[1:])
推荐阅读
- neo4j - 如何在 neo4j 中删除数据集中的 NULL 值?
- python - Pandas - 依靠特定列并获得前 N 个列表
- android - android p APK运行时找不到AppCompatViewInflater
- plot - 如何在 Julia 上绘制矢量场?
- android - 在 Android 8.0 Oreo 中创建自定义热点
- wordpress - Wordpress 网站 - 电话号码不断变化?
- shell - shell编程和unix编程有什么区别/相似之处?
- java - 将地图的地图转换为java中的地图列表
- r - 如何按行将连续变量与其均值进行比较
- julia - 在 Julia 中将经过的时间转换为小时:分钟:秒