我有一个数组LiveTick = ['ted3m index','US0003m index','USGG3m index']
,我正在读取一个CSV文件book1.csv
。我必须找到包含csv中的值的行。你知道吗
例如,第15行将包含ted3m index 500 | 600
,第20行将包含US0003m index 800 | 900
,同样。你知道吗
然后我必须得到行中包含的值,并为数组LiveTick
中包含的每个值解析它。我该怎么做?下面是我的示例代码:
with open('C:\\blp\\book1.csv', 'r') as f:
reader = csv.reader(f, delimiter=',')
writer = csv.writer(outf)
for row in reader:
for list in LiveTick:
if list in row:
print ('Found: {}'.format(row))
你可以使用熊猫,它的速度非常快,可以为你完成所有的阅读、写作和过滤工作:
你的想法是对的,但是你可以做一些改进:
any
将第一列与多个值进行比较,而不是使用不会短路的嵌套for
循环。你知道吗print
。这是内存有效的,因为您在任何时候只在内存中保存一行。你知道吗with
语句中将outf
定义为open
对象。你知道吗list
。对LiveTick
中的元素使用另一个标识符,例如i
。你知道吗下面是一个演示:
相关问题 更多 >
编程相关推荐