我怎么能做一个循环,创建一个数组从2列从不同的excel文件?



我一直在努力学习来自MATLAB的python,我一直在努力创建循环。我有大约10个excel文件(.csv),其中有2列CURR和VOLT。我希望能够快速地为所有excel文件制作CURR和VOLT的矢量(或者它们被称为数组?)。

这是我目前使用的:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
blue = pd.read_csv("blue.csv", usecols = ['Volt','Curr'])
blueX=blue['Curr']
blueY=blue['Volt']
plt.plot(blueX,blueY, 'r', label='Zinc')
plt.title('Zinc')
plt.gca().legend()
plt.xlabel('Current [A]')
plt.ylabel('Voltage [V]')

我怎样才能将它简化为所有颜色的forloop ?这是我已经开始的,但我被困在字典是什么以及如何从中调用值。如果可能的话,我想使X和Y数组/向量类似于我上面的代码。如果有更好的方法,我愿意学习。

files = ['BLUE' , 'BLUE.REV', 'GREEN', 'GREEN.REV', 'NITRO', 'PURPLE', 'PURPLE.REV', 'RED','RED.REV','SAND','YELLOW.REW','YELLW']
for i in files:
data[i]=pd.read_csv(i+".csv", usecols = ['VOLT', 'CURR'])

在你的例子中变量必须在向其插入任何值之前创建。您可以创建一个空列表:

data = []

在每个循环之后,你可以将pandas DataFrame添加到该列表中:

files = ['BLUE' , 'BLUE.REV', 'GREEN', 'GREEN.REV', 'NITRO', 'PURPLE', 'PURPLE.REV', 'RED','RED.REV','SAND','YELLOW.REW','YELLW']
for i in files:
data.append(pd.read_csv(i+".csv", usecols = ['VOLT', 'CURR']))

这样你就有了一个列表"data"它包含你从文件中提取的所有数据,你可以用索引访问它,例如data[0]对应'BLUE'变量,data[1]对应'BLUE'变量。REV'变量等

这只是一种方法。

最新更新