这是xls文件:
moto 5 2 45
moto 2 4 43
coche 8 54 12
coche 43 21 6
coche 22 14 18
这是使用pyexcel库的代码:
import pyexcel as pe
data = pe.get_sheet(file_name="vehiculo.xls")
sheet = pe.Sheet(data, name_rows_by_column=0)
sheet.row.select(['coche'])
sheet.save_as("output.xls")
它只返回名为' coche':
的fisrt行coche 8 54 12
我希望所有的行都带有名称" coche"。
有什么想法吗? 感谢
答案 0 :(得分:0)
只是迭代数据:
import pyexcel
from collections import defaultdict
results = defaultdict(list)
data = pe.get_sheet(file_name="vehiculo.xls")
for row in data.rows():
results[row[0]] += row[1:]
您将获得以下内容:
>>> results['moto']
[5L, 2L, 45L, 2L, 4L, 43L]
答案 1 :(得分:0)
我为“功能”选择'这一事实道歉。没有按预期工作。它没有用,因为行的其余部分变成了coche-1,coche-2(你可以通过print(s)
查看)。这是具有相同名称的行名称的默认行为。将来会改变。
目前,为了让您的用例有效,您可以在此语句中使用pyexcel == 0.3.0 +:
...
>>> sheet = pe.Sheet(data) # , name_rows_by_column=0)
>>> del sheet.row[lambda row_inde,row: row[0] != 'coche']
...
此功能的the documentation。