【发布时间】:2018-12-31 20:04:14
【问题描述】:
我有一个逗号分隔的 csv 文件“Brent 3.csv”: 行如下所示:
2014.03.12 23:59:59,2014.03.20 23:59:59,BRENTSPOT,Brent
1,1.29,1.6,0.8568833439015613,91.09,3.5,2.053,-0.035\n
2014.04.01 23:59:59,2014.04.02 23:59:59,BRENTSPOT,Brent
1,1.39,1.4,0.8568833439015613,89.59999999999999,3.5,2.053,-0.036\n
现在我想做的是创建一个包含字符串和浮点值的二维混合列表。
import os
def create_list(stratname,directory):
os.chdir(directory)
temp = []
for file in glob.glob("*.csv"):
if stratname in file:
TDFile=open(file,"r")
for i,line in enumerate(TDFile):
s = line.split(',')
for x in s:
try:
temp.append(float(x))
except ValueError:
temp.append(x)
return temp
brent3 = create_list("Brent 3",strategydir)
print(brent3)
我知道我应该使用
temp.append([float(x)])
但这只会创建一个看起来像这样的列表:
['2014.03.12 23:59:59', '2014.03.20 23:59:59', 'BRENTSPOT', 'Brent 1', [1.29], [1.6], [0.8568833439015613], [91.09], [3.5], [2.053], [-0.035], '2014.04.01 23:59:59', ... ]
应该是:
[['2014.03.12 23:59:59', '2014.03.20 23:59:59', 'BRENTSPOT', 'Brent 1', 1.29, 1.6, 0.8568833439015613, 91.09, 3.5, 2.053, -0.035], ['2014.04.01 23:59:59', .....]]
我似乎无法找到答案如何以 [[first line],[second line]] 格式获取 csv 文件的每一行。
任何帮助表示赞赏:)
【问题讨论】:
标签: python list csv multidimensional-array append