繁体   English   中英

python根据给定日期打印出csv数据

[英]python print out csv data based on given date

我有一个可以从 CSV 打印出来的 python 程序。 代码会要求用户输入开始日期和结束日期,根据这个范围程序返回温度。

这是要求用户输入开始日期和结束日期的代码( import csv import datetime import time from datetime import datetime from datetime import timedelta

with open('preiction_system.csv', 'r') as csvFile:
    reader = csv.reader(csvFile)

    for row in reader:
        print(row)


ask=input("Enter start  Date\n")

fromDate = time.strptime(ask, "%Y-%m-%d")
start = time.strptime(time.strftime('%Y-%m-%d'),"%Y-%m-%d")


ask=input("Enter End Date\n")

fromDate = time.strptime(ask, "%Y-%m-%d")
end = time.strptime(time.strftime('%Y-%m-%d'),"%Y-%m-%d")

它根据用户输入的日期从 csv 返回行。

例如开始日期是 2019-12-01,结束日期是 2019-12-05

欲望输出:

Date          maxtempC  mintempC    tempC
2019/12/01  29.80    25.35          29.80
2019/12/02  29.78    25.34          29.78
2019/12/03  30.61    24.53          30.61
2019/12/04  32.08    24.75          32.08
2019/12/05  30.42    24.74          30.42

使用pandas可以

import pandas as pd

df = pd.read_csv('preiction_system.csv')

#start = input("Enter start  Date\n")
#end = input("Enter end  Date\n")

start = "2019/12/02"
end = "2019/12/04"

result = df[ (df['Date'] >= start ) & (df['Date'] <= end) ]

print(result)

result.to_csv('output.csv')

使用csv可以更长

import csv

# ask before `for` loop
#start = input("Enter start  Date\n")
#end = input("Enter end  Date\n")

start = "2019/12/02"
end = "2019/12/04"

result = []

with open('preiction_system.csv', 'r') as csvFile:
    reader = csv.reader(file_object)

    header = next(reader) # get header
    print(header)
    result.append(result)

    for row in reader:
        if start<= row[0] <= end:
            print(row)
            result.append(row)

# TODO: write result in file       

暂无
暂无

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

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