在Python中引用Excel

我正在写一个用于光束大小的python代码。 我有一个来自AISC的Excel工作簿,其中包含所有截面形状和其他各种信息的数据。 我希望能够在我的Python代码中的Excel工作簿中引用特定单元格中的数据。

例如,如果矩形的宽度是2in,并存储在单元格A1中,高度是10in,并存储在单元格B1我想写一个代码在Python中,以某种方式拉入单元格A1和B1,并将它们相乘。

我不需要导出回excel我只是想使python做所有的工作,纯粹使用excel作为参考材料。

预先感谢您的所有build议和意见!

尝试pandas以及…在这种情况下可能比列表更容易工作

数据

 Width Height 4 2 4 4 1 1 4 5 

 import pandas as pd #read the file beam = pd.read_csv('cross_section.csv') beam['BeamSize'] = beam['Width']*beam['Height'] #do your calculations 

输出

 >>> beam Width Height BeamSize 0 4 2 8 1 4 4 16 2 1 1 1 3 4 5 20 4 2 2 4 

您可以根据需要切分和裁切数据。 例如,让我们说你想要第五束:

 >>> beam.ix[4] Width 2 Height 2 BeamSize 4 Name: 4, dtype: int64 

检查这个更多的信息: http : //pandas.pydata.org/pandas-docs/stable/

你也可以直接从excel中读取。

感谢您的投入。 我用Numpyfind了我正在寻找的解决scheme。

data = np.loadtxt('C:\ Users [User_Name] \ Desktop [fname] .csv',delimiter =',')

使用它的数据,并创build一个数组,我需要的数据。 现在我可以像使用其他matrix或数组一样使用数据。

如果您不介意在项目中添加(稍重)依赖项,则pandas具有read_excel函数,该函数可以将Excel工作簿中的工作表读取到pandas DataFrame对象中,该对象的工作方式类似于字典。 然后阅读一个单元格将只是像这样的事情:

 data = pd.read_excel('/path/to/file.xls') cell_a1 = data.loc[1, 'a'] # or however it organizes it on import 

对于这个问题的将来读者,应该提到xlrd是您的要求的“最准确的”解决scheme。 它将允许您直接从Excel文件读取数据(无需先转换为CSV)。

许多其他读取Excel文件(包括pandas )的软件包都使用xlrd来提供该function。 它们是有用的,但比xlrd(更大,更多的依赖性,可能需要编译C代码等)“更重”。

(顺便说一下,pandas正好使用xlrd和NumPy 。)