打印用户希望看到的csv文件中的特定信息

2024-09-29 21:52:42 发布

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

在这个程序中,用户可以在三个csv文件中进行选择。这是其中一个的要点(我们称之为test_sample.csv):

CODE     AGE GROUP     SEX     CITY      
----     ---------     ---     ----      
E101      25 to 29      M      Denver     
E102      25 to 29      F      Denver     
E103      45 to 49      M      Chicago    
E104      45 to 49      F      Chicago     
E105      25 to 29      M      Denver     

我希望发生的是,假设用户输入一个城市,程序将显示该地方的信息。例如,输入“丹佛”,程序将显示:

CODE     AGE GROUP     SEX     CITY      
----     ---------     ---     ----      
E101      25 to 29      M      Denver     
E102      25 to 29      F      Denver       
E105      25 to 29      M      Denver   

到目前为止,我只编写了第一部分(用户在csv文件之间进行选择)。我一直被第二部分(根据用户输入的城市显示具体信息)所困扰,我不确定该怎么办

这是我目前的代码:

import pandas as pd

fileInput = str(input("Which file would you like to open: "))
fileOpen = open(fileInput)
df = pd.read_csv(fileOpen)

selectCity = input("Which city would you like to be visualized: ")

我应该做什么,从哪里开始


Tags: 文件csvto用户程序cityagegroup
2条回答

您可以通过多种方式来实现这一点。一种方法是

import pandas as pd
fileInput = input("Which file would you like to open: ")
df = pd.read_csv(fileInput)

selectCity = input("Which city would you like to be visualized: ")
df2 = df[df['CITY']==selectCity]
print(df2)

首先,您在pandas中读取输入csv的方式是错误的,您需要在数据框中正确读取它以分隔列:

import pandas as pd

fileInput = input("Which file would you like to open: ") # python3 input is str by default
df = pd.read_csv(fileInput, skiprows=[1], delimiter="\s{2,}", engine="python")

之后,您可以轻松提取特定城市的行,如下所示:

selectCity = input("Which city would you like to be visualized: ")
output = df[df["CITY"] == selectCity]

给予

  CODE AGE GROUP SEX    CITY
0  E101  25 to 29   M  Denver
1  E102  25 to 29   F  Denver
4  E105  25 to 29   M  Denver

一旦有了满意的行,您就可以根据需要进行格式化

相关问题 更多 >

    热门问题