繁体   English   中英

如何在python中使用input()函数提取CSV数据

[英]How to extract csv data with input() function in python

我目前正在尝试使用csv数据在python中制作基于健壮的基于输入的图形。 我已经能够成功导入数据,并具有input()函数的功能,但是我希望该函数使用匹配的数据点,以便以后可以对其进行图形化处理。 目前,我希望从DOI中获取一个感兴趣的日期,我希望python从下一列中获取后续数据并将其绘制在图形上。 我已经尝试过使用for循环,目前正在尝试通过定义函数来实现这一点。 是否可以让python执行此操作? 还是我需要重新定义如何获取“ y”数据?

csv示例:日期值

2006001 12345

2006002 13452

2006003 12567

到目前为止,这是我的代码(仅用于获取数据):

import numpy as np
import matplotlib.pyplot as plt
import os

os.chdir("/Users/misi7940/Downloads/")


masie_df=pd.read_csv("masie (1).csv", skiprows=[0])
#masie_df.info()
x=masie_df[['yyyyddd']]
y=masie_df[[' (0) Northern_Hemisphere']]


def date():
    DOI=input("what is your date of interest?")
    for row in masie_df:
        if DOI == row[1]:
            print(row)


date()

我不确定整个脚本的工作方式,但是您需要在Pandas中使用.loc来获得查找结果。

以下是一些(未试用的)代码可能会帮助您:

import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

ddict = {
    'date':['2006001','2006002','2006003',],
    'value':['12345','13452','12567',],
}
masie_df = pd.DataFrame(ddict)

def date():
    while True:
        print('what is your date of interest? [yyyyddd format]')
        DOI = input('>>> ')
        if len(DOI) == 7:
            for i in masie_df:
                if DOI in masie_df['date']:
                    print(masie_df.loc[masie_df['date'] == DOI]['value'])

        else:
            print('Please enter a valid date format or [Q] to quit.')
            DOI = input('>>> ')
            if DOI.lower() in ['q','quit','',]:
                break

    print('Goodbye!')


if __name__ == '__main__':
    date()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM