[英]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.