【发布时间】:2021-05-26 10:12:48
【问题描述】:
您好,我是 pandas/python 的新手,正在尝试读取 pandas 中的 txt 文件
我想为每一行提取key、value 对。
将key 设为新列名,将其各自的value 设为值。
输入
data
{'Name': 'Tim', 'Class': 'Ninth', 'Hobbies' : 'Football'}
{'Name': 'Tom', 'Class': 'Ninth', 'Hobbies' : 'Football'}
{'Name': 'Jim', 'Class': 'Ninth', 'Hobbies' : 'Football'}
{'Name': 'John', 'Class': 'Ninth'}
预期输出:
Name Class Hobbies
Tim Ninth Football
Tom Ninth Football
Jim Ninth Football
John Ninth NA
import pandas as pd
df1 = pd.read_csv('9data.txt',sep = '\t')
df1['Name'] = df1['data'].apply(lambda x : x.values()[1])
print(df1)
错误:AttributeError:'str'对象没有属性'values'
有什么方法可以在pandas 中做到这一点?
【问题讨论】:
-
pd.DataFrame(df1['data'].tolist())? -
@Anurag Dabas - 应该可以,但是该数据的呈现方式似乎在行的末尾有空格,导致它是一个字符串。也许这就是它的粘贴方式,但如果你的公式有效,那就太好了。否则下面的作品。