我正在编写一个程序,以评估美国各个城市的光伏每小时发电量。为了简单起见,我将它们放在字典(tmy3_cities)中,以便可以循环浏览它们。为了阅读代码,我遵循了TMY to Power Tutorial off Github。除了显示整个循环之外,我仅添加了读取和移动时间30分钟的代码。
因此,本教程中获取的代码适用于除休斯顿,亚特兰大和巴尔的摩(为简单起见,为HAB)之外的所有TMY3文件。所有的tmy3文件都是从NREL下载的,并已重命名供我自己使用。我在读取这三个文件时遇到的错误与日期时间有关,并且从本质上可以归结为一个“ ValueError:对int()无效的立即数,在进行一定的追溯后,其基数为10:'1'。
我没有陷入相同的问题,而是将每个文件分别输入阅读器,而且可以肯定的是,只有HAB tmy3文件会出错。
其次,我再次下载了文件。这显然没有影响。
为了偷懒地绕过这个问题,我通过excel将有效的tmy3文件(例如,迈阿密)中的日期和时间列复制并粘贴到了无效的文件(即,HAB)中。
我不确定还要做什么,因为我对Python和一般的编码还很陌生。
#The dictionary below is not important to the problem below, but is
provided only for some clarification.
tmy3_cities = {'miami': 'TMY3Miami.csv',
'houston': 'TMY3Houston.csv',
'phoenix': 'TMY3Phoenix.csv',
'atlanta': 'TMY3Atlanta.csv',
'los_angeles': 'TMY3LosAngeles.csv',
'las_vegas': 'TMY3LasVegas.csv',
'san_francisco': 'TMY3SanFrancisco.csv',
'baltimore': 'TMY3Baltimore.csv',
'albuquerque': 'TMY3Albuquerque.csv',
'seattle': 'TMY3Seattle.csv',
'chicago': 'TMY3Chicago.csv',
'denver': 'TMY3Denver.csv',
'minneapolis': 'TMY3Minneapolis.csv',
'helena': 'TMY3Helena.csv',
'duluth': 'TMY3Duluth.csv',
'fairbanks': 'TMY3Fairbanks.csv'}
#The code below was taken from the tutorial.
pvlib_abspath = os.path.dirname(os.path.abspath(inspect.getfile(pvlib)))
#This is the only section of the code that was modified.
datapath = os.path.join(pvlib_abspath, 'data', 'TMY3Atlanta.csv')
tmy_data, meta = pvlib.tmy.readtmy3(datapath, coerce_year=2015)
tmy_data.index.name = 'Time'
# TMY data seems to be given as hourly data with time stamp at the end
# Shift the index 30 Minutes back for calculation of sun positions
tmy_data = tmy_data.shift(freq='-30Min')['2015']
print(tmy_data.head())
我希望读取的每个tmy3文件都产生自己的tmy_data DataFrame。如果您想查看整个图片,请发表评论