python

您所在的位置:网站首页 python读取txt里面的变量 python

python

2023-12-14 00:33| 来源: 网络整理| 查看: 265

pandas读取txt文件

参考链接:pandas.read_csv pandas.read_csv常用参数为:header, sep, name,其余参数待用到时再行补充 假如有个名为dates.txt的文件,其中内容如下:

20191128, 20191128 20191129, 20191129 20191130, 20191130

注意观察该文件没有标题行,类似表格的列名,那么就需要指定header=None,从而避免第一行被当成了标题行,用如下代码读取:

import pandas as pd dates = pd.read_csv('dates.txt',header=None) # 获取日期数据 print(dates) for ii in dates.index: print(ii) date_time = dates.loc[ii].values print(date_time)

打印的结果如下:

0 1 0 20191128 20191128 1 20191129 20191129 2 20191130 20191130 0 [20191128 20191128] 1 [20191129 20191129] 2 [20191130 20191130]

结果中我们注意到,因为没有标题行,结果自动添加了0和1两个数作为名称,如果想要添加标题,可以用如下代码:

import pandas as pd dates = pd.read_csv('dates.txt', names=['col1','col2'], header=None) # 获取日期数据 print(dates) for ii in dates.index: print(ii) date_time = dates.loc[ii].values print(date_time)

这样打印的结果就是:

col1 col2 0 20191128 20191128 1 20191129 20191129 2 20191130 20191130 0 [20191128 20191128] 1 [20191129 20191129] 2 [20191130 20191130]

每一行的结果都是一个list,可以通过列表的索引来指定取哪个值。

txt文件中数据是逗号分隔的,而pandas.read_csv默认使用的分隔符就是逗号,那如果是其他的符号呢,如空格,“-”等。这时sep就起到作用了。 假如dates.txt的文件内容如下:

20191128 20191128 20191129 20191129 20191130 20191130

执行如下代码:

import pandas as pd dates = pd.read_csv('dates.txt', names=['col1','col2'], header=None, sep=" ") # 获取日期数据 print(dates) for ii in dates.index: print(ii) date_time = dates.loc[ii].values print(date_time)

执行结果如下:

col1 col2 0 20191128 20191128 1 20191129 20191129 2 20191130 20191130 0 [20191128 20191128] 1 [20191129 20191129] 2 [20191130 20191130]

我们指定sep为空格,则数据被正确的读取了出来。那如果不指定sep呢,结果如下:

col1 col2 0 20191128 20191128 NaN 1 20191129 20191129 NaN 2 20191130 20191130 NaN 0 ['20191128 20191128' nan] 1 ['20191129 20191129' nan] 2 ['20191130 20191130' nan]

可以看到,数据并没有被正确分割,这说明在数据分隔符不是逗号的情况下,必须使用sep来指定分割方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3