Python pandas无法在variab中存储结果

2024-05-13 21:53:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pandas来处理一些csv文件,但是我无法将结果存储在变量中并按原样打印出来。在

这是我的密码。在

df = pd.read_csv(MY_FILE.csv, index_col=False, header=0)
df2 = df[(df['Name'])]
# Trying to get the result of Name to the variable
n = df2['Name']
print(n)

我得到的结果是:

^{pr2}$

我的问题:

是否可以只将“Jake”存储在变量“n”中,以便在需要时随时调用它?在

例:打印(n)

结果:Jake

这是我构建的代码

def name_search():

    list_to_open = input("Which list to open: ") + ".csv"
    directory = "C:\Users\Jake Wong\PycharmProjects\box" "\\" + list_to_open
    if os.path.isfile(directory):

# Search for NAME
        Name_id = input("Name to search for: ")
        df = pd.read_csv(directory, index_col=False, header=0)
        df2 = df[(df['Name'] == Name_id)]

        # Defining the name to save the file as
        n = df2['Name'].ix[1]

        print(n)

这是csv文件中的内容

S/N,Name,Points,test1,test2,test3
s49,sing chun,5000,sc,90 sunrsie,4984365132
s49,Alice Suh,5000,jake,88 sunrsie,15641816
s1231,Alice Suhfds,5000,sw,54290 sunrsie,1561986153
s49,Jake Wong,5000,jake,88 sunrsie,15641816

Tags: 文件csvthetonamedfreadopen
1条回答
网友
1楼 · 发布于 2024-05-13 21:53:33

问题是n = df2['Name']实际上是一个熊猫系列:

type(df.loc[df.Name == 'Jake Wong'].Name)
pandas.core.series.Series

如果您只需要这个值,可以使用values[0]values是Pandas对象后面的底层数组,在本例中,它的长度是1,而您只需要获取第一个元素。在

^{pr2}$

此外,CSV的格式不正确:仅将内容排成这样的列是不够的,您需要在列之间使用一致的分隔符(通常是逗号或制表符),这样解析器就可以知道一列何时结束,另一列何时开始。你能把你的csv改成这样吗?公司名称:

S/n,Name,points
s56,Alice Suh,5000
s49,Jake Wong,5000

否则我们可以为您开发另一个解决方案,但我们可能会使用regex而不是pandas。在

相关问题 更多 >