如何使用Python将Excel数据读入数组

8
在我工作的实验室中,我们处理由96孔板读取器产生的大量数据。我正在尝试编写一个脚本,执行一些计算并使用matplotlib输出条形图。
问题是,读取器将数据输出到.xlsx文件中。我知道像pandas这样的一些模块有read_excel函数,您能否解释一下我应该如何读取excel文件并将其放入数据框中?
谢谢
24孔板的数据示例:
0.0868  0.0910  0.0912  0.0929  0.1082  0.1350
0.0466  0.0499  0.0367  0.0445  0.0480  0.0615
0.6998  0.8476  0.9605  0.0429  1.1092  0.0644
0.0970  0.0931  0.1090  0.1002  0.1265  0.1455

你的 .xls 文件样本会很有帮助。 - letsc
1
你也可以看一下 xlrd 模块 - 参见 http://www.python-excel.org - 但是如果你要对数据进行分析工作/绘图,那么 pandas 将是一个不错的选择 - 我建议从 pandas.read_excel 的文档开始。 - Jon Clements
我编辑了一个24孔板数据的样本,为了简单起见,我使用这个数据来测试代码。 - griffinc
4个回答

14

我不太确定你在说什么意思,但如果你的意思是把一个数组变成矩阵,你可能在寻找以下内容:

import pandas as pd
df = pd.read_excel([path here])
df.as_matrix()

这将返回一个 numpy.ndarray 类型。


1
鉴于您刚刚发布的数据,这正是您要寻找的。 - fpes

7
这项任务在 Pandas 中非常容易。
导入 Pandas 库: import pandas as pd 读取 Excel 文件: df = pd.read_excel('file_name_here.xlsx', sheet_name='Sheet1') 或者读取 CSV 文件: df = pd.read_csv('file_name_here.csv') 这将返回一个 pandas.DataFrame 对象,它非常强大,可以按列、行、整个数据框或单个项目进行操作。更不用说以不同方式进行切片了。

1
谢谢您的回答。我不得不使用sheetname而不是sheet - dennis-tra

1
你也可以尝试使用我的封装库,它也使用了xlrd:
import pyexcel as pe     # pip install pyexcel
import pyexcel.ext.xls   # pip install pyexcel-xls
your_matrix = pe.get_array(file_name=path_here) # done

1

这里有一个很棒的xlrd包,还有快速入门示例在这里。 你可以通过谷歌搜索来找到代码片段。我从未使用过pandaread_excel函数,但是xlrd已经满足了我所有的需求,而且我相信它甚至可以提供更多。


我听说过这个,谢谢提醒,我会进一步了解它的。 - griffinc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接