在查找包含数组中值的CSV行时需要帮助

时间:2018-08-08 15:51:05

标签: python arrays csv

我有一个数组pd.options.display.max_rows = 500 ,正在读取CSV文件LiveTick = ['ted3m index','US0003m index','USGG3m index']。我必须找到包含csv中值的行。

例如,第15行将包含book1.csv,第20行将包含ted3m index 500 | 600,并且同样。

然后,我必须获取行中包含的值,并为数组US0003m index 800 | 900中包含的每个值解析它。我该如何进行?下面是我的示例代码:

LiveTick

2 个答案:

答案 0 :(得分:2)

您可以使用熊猫,它的运行速度非常快,并且可以为您提供所有阅读,编写和过滤工作:

$category

答案 1 :(得分:0)

您的想法正确,但是您可以进行一些改进:

  • 使用for将第一列与多个值进行比较,而不是嵌套的any循环不会短路。
  • 在执行过程中,不仅要print,还要写入csv。这样可以节省内存,因为您一次只能在一行中保留一行。
  • outf语句中将open定义为with对象。
  • 请勿遮挡内置list。使用其他标识符,例如i,用于LiveTick中的元素。

这是一个演示:

with open('in.csv', 'r') as f, open('out.csv', 'wb', newline='') as outf:
    reader = csv.reader(f, delimiter=',')
    writer = csv.writer(outf, delimiter=',')
    for row in reader:
        if any(i in row[0] for i in LiveTick):
            writer.writerow(row)