现在我正在使用它,但它似乎非常慢并且还将列打印为列表。此外,我在这里手动添加列到我的列表。是否有更有效的方法使用numpy并将列作为数组读取?
如果不是这样,我正在考虑将其转换为.txt或.csv,因为它们更容易阅读。什么是最有效的选择?
另外,我在.ods和.xlsx中有相同的文件,所以使用其中任何一个都没问题。
import xlrd
workbook = xlrd.open_workbook("Folds5x2_pp.xlsx","rb")
sheets = workbook.sheet_names()
print sheets
required_data = []
for sheet_name in sheets:
sh = workbook.sheet_by_name(sheet_name)
for rownum in range(sh.nrows):
row_val = sh.row_values(rownum)
required_data.append((row_val[0], row_val[1]))
print required_data
答案 0 :(得分:0)
尝试使用openpyxl
>>> from openpyxl import load_workbook
>>> wb = load_workbook('Folds5x2_pp.xlsx', read_only=True)
>>> print wb.sheetnames
['Sheet1', 'Sheet2', 'Sheet3']
>>> ws = wb.get_sheet_by_name('Sheet1')
>>> cols = 0 # column index
>>> x2 = np.array([r[cols].value for r in ws.iter_rows()])
或者您可以尝试pandas to_records
import pandas as pd;
df = pd.read_excel('Folds5x2_pp.xlsx');
x2 = df.to_records()