使用Python访问excel文件的有效用法
(在我提出这个问题之前,请理解我已经完成了研究,但是这只是填补我的信息漏洞)
我有一个标准的Excel电子表格.xls,其中包含一个表,其中包含以下信息:
现在我想实现的是直接将这个.xls文件转换为一个数据types,可以存储在python应用程序的内存中,这个应用程序可以像字典一样相应地访问这些信息。
我已经阅读了一些,但是我的编码经验并不是100%,因为它已经有一段时间了。
你可以使用pandas库,excel操作的优秀库。
import pandas as pd data_frame = pd.read_excel("path_to_excel", "sheet_name")
data_frame就像是保存数据的表格或matrix,您可以很容易地处理这个data_frame
所以你想要的应该是与csv
模块可能的,假设你把你的xls
转换成csv
(只保存为…)。
像这样:
import csv with open('filepath.csv', 'r') as f: reader = csv.DictReader(f) for row in reader: print(row['A'], row['B'])
DictReader
取第一行,并假定这些是字典键。 然后它将每一行变成一个字典,您可以使用第一行中定义的键来访问这些值。
如果你不希望它是一个真正的dict
,你可以使用csv.reader(f)
,它允许你使用列表索引来访问行(上面的例子将以print(row[0], row[1])
)。
这一切都有能够在没有任何第三方导入的情况下使用标准库的好处,因此可以在任何使用Python
机器上运行。
您可以使用xlrd来循环执行excel文件。 正如你所build议的,你可以通过excel文件循环并创build一个字典。
更好的select是大pandas ,它把你的Excel作为一个表格读取,称为数据框架。 您可以访问此数据框中的任何单元格,行或列。
例如,你有:
XY 0 0.213784 0.461443 1 0.703082 0.600445 2 0.111101 0.648624 3 0.101367 0.924729 >>> import pandas as pd >>> df = pd.read_excel(filename) >>> df["X"] 0 0.213784 1 0.703082 2 0.111101 3 0.101367 >>> df["Y"] 0 0.461443 1 0.600445 2 0.648624 3 0.924729 >>> df["X"][0] 0.21378370373100195