【问题标题】:python: How to parse CSV and print specific columns [duplicate]python:如何解析CSV并打印特定列[重复]
【发布时间】:2021-08-27 21:23:44
【问题描述】:

假设我有一个如下所示的 CSV 文件:

name,country,email
john,US,john@fake.com
brad,UK,brad@fake.com
James,US,james@fake.com

我想搜索任何等于美国的县,如果存在,则打印他们的电子邮件地址。如果不使用 pandas,我将如何在 python 中执行此操作?

【问题讨论】:

  • 到目前为止,您根据自己的研究做了什么尝试?

标签: python


【解决方案1】:

你可以这样做:

with open('file.csv', 'r') as f: 
    f.readline()
    for line in f: 
        data = line.strip().split(',')

然后你可以访问data 里面的东西来得到你需要的东西。

【讨论】:

    【解决方案2】:

    因此,要将 CSV 作为数据框读取,您需要:

    import pandas as pd
    df = pd.read_csv("filename.csv") 
    

    接下来,我将生成一个虚拟 df 并向您展示如何获取美国用户,然后在列表中打印他们的电子邮件:

    df= pd.DataFrame({"Name":['jhon','brad','james'], "Country":['US','UK','US'], 
    "email":['john@fake.com','brad@fake.com','james@fake.com']})
    US_USERS = df.loc[df['Country']=='US']
    US_emails = df['email'].tolist()
    print(US_USERS)
    print(US_emails)
    

    你应该得到:

        Name Country           email
    0   jhon      US   john@fake.com
    2  james      US  james@fake.com
    
    ['john@fake.com', 'brad@fake.com', 'james@fake.com']
    

    【讨论】:

    • 没看到
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 2022-07-12
    • 1970-01-01
    相关资源
    最近更新 更多