首页 > 解决方案 > 有没有办法将这些数组放在另一个数组中

问题描述

希望将过滤后的 csv 文件名放入一个新数组中,以便可以单独绘制具有最佳拟合线的图形

项目分析数据以确定常数的一部分。

import scipy as sp

for f in A:
     with open(f,'r') as file:
         line1=file.readline()
         line1_split=line1.split(',')
         if 'Instrument Response: Good ' in line1_split[3]: #filters good from bad instrument response.
             print(f)
             print(line1_split[3])
             good_file_data=sp.array[f]
print(good_file_data[1])

预期结果是具有良好仪器响应的第二个文件名。而是显示:

“内置方法不可订阅”错误

标签: pythonarraysloops

解决方案


因为sp.array是一个函数/方法,而不是一个序列对象,所以使用带方括号的订阅会产生该错误。此外, good_file_data应该是一个序列(列表、数组)来保存从集合 A 中的文件读取的所有表数据。以下只是一个小改动:

import scipy as sp

good_file_data = []
for f in A:
    with open(f, ‘r') as file:
        line1_split = file.readline().split(‘,’)
        if 'Instrument Response: Good ‘ in line1_split[3]:  # filters good from bad instrument response.
            print(f)
            print(line1_split[3])
            good_file_data.append(sp.array(f))
print(good_file_data[1])

推荐阅读