我定义了一个读取文件的函数(procedure)。我希望它返回一个数据数组我想从文件中读取,因为它遵循:如何将列表转换为函数中的数组 - python?
import csv
import numpy as np
import matplotlib.pyplot as plt
# Subroutine to read the day, Ta,Tp from a file and convert them into arrays
def readstr(fname,day,Ta,Tp):
van = open(fname,'r')
van_csv = van.readlines()[7:] # Skip seven lines
van.close() # close the file
van_csv = csv.reader(van_csv) # now the file is separated by colunms
for row in van_csv: # Passing the values of the each column to arrays
day.append(row[1])
Ta.append(row[8])
Tp.append(row[7])
day = np.array(day,dtype=np.integer)
Ta = np.array(Ta,dtype=np.float)
Tp = np.array(Tp,dtype=np.float)
van = "file"
# Defining the lists
dayVan = []
Tav = []
Tpv = []
readstr(van,dayVan,Tav,Tpv)
print Tav
我认为这是可行的,但dayVan,冠捷,保持Tav的是列表。
你是不是修改'钽度(Tav )'和'Tp(Tpv)'。你绑定了一个由'np.array'返回'Ta'和'Tp'的新实例。这意味着你正在用一个新的绑定替换'Tav'绑定,但是'Tav'仍然被绑定到一个空列表。 –