在python中使用pandas从文本文件中创建列表[英] creating lists from text file using pandas in python

本文是小编为大家收集整理的关于在python中使用pandas从文本文件中创建列表的处理方法,想解了在python中使用pandas从文本文件中创建列表的问题怎么解决?在python中使用pandas从文本文件中创建列表问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个如下的文本文件 (data.txt):

name height  weight
    A   15.5    55.7
    B   18.9    51.6
    C   17.4    67.3
    D   11.4    34.5
    E   23.4    92.1

我想在 python 中使用 pandas 为每一列创建列表.

import pandas
with open (pandas.read_csv('data.txt')) as df:
    name= df.icol(0)
    height= df.icol(1)
    weight= df.icol(2)
    print (name)
    print (height)
    print (weight)

我还想避免列表中的标题(姓名、身高、体重).

print(df)提供如下:

name\theight\tweight
0        A\t15.5\t55.7
1        B\t18.9\t51.6
2        C\t17.4\t67.3
3        D\t11.4\t34.5
4        E\t23.4\t92.1

推荐答案

不清楚为什么要使用pandas,因为你没有说为什么要专门在列表中,所以这里有一个使用csv的解决方案:

import csv

with open('data.txt') as f:
    reader = csv.DictReader(f, delimiter='\t')
    rows = list(reader)

现在 rows 是一个字典列表,每个字典都有一个代表你的行的标题;获取您的每一列:

names = [i['name'] for i in rows]
heights = [float(i['height']) if i['height'] else 0.0 for i in rows]
weights = [float(i['weight']) if i['weight'] else 0.0 for i in rows]

本文地址:https://www.itbaoku.cn/post/1727777.html