首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python xlrd获取第一行值

python xlrd获取第一行值
EN

Stack Overflow用户
提问于 2015-12-08 15:28:20
回答 4查看 9.8K关注 0票数 1

我使用xlrd和python来提取excel数据,一切都很好,数据拖动也很好,但代码只获取最后一行数据。

这里是我的

代码语言:javascript
复制
+-------------------+------------+------------------------+
| polling_station_1 | Cairo      | 7734                   |
+-------------------+------------+------------------------+
| polling_station_2 | Giza       | 13332                  |
+-------------------+------------+------------------------+
| polling_station_3 | Alexandria | 10901                  |
+-------------------+------------+------------------------+

这里是我的代码

代码语言:javascript
复制
import xlrd

excel_sheet = xlrd.open_workbook("teacher.xlsx")
sheet1= excel_sheet.sheet_by_name('parents')

for i in range(0, sheet1.nrows):        
      row = sheet1.row_slice(i)        
      Gname = row[0].value        
      Fname = row[1].value        
      Lname = row[2].value

print Gname
print Fname
print Lname

与结果

代码语言:javascript
复制
polling_station_3  
Alexandria 
10901    

这是最后一行,但我想要从第一行的数据注意:更改的范围仍然显示在最后一行.

有谁能弄清楚

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-12-08 16:10:28

代码语言:javascript
复制
excel_sheet = xlrd.open_workbook("teacher.xlsx")
sheet1= excel_sheet.sheet_by_name('parents')
row = sheet1.row(0)  # 1st row

如果打印行输出为,则为

代码语言:javascript
复制
[text:u'polling_station_1', text:u'cairo', text:u'7734']

现在分割它或者一个一个地得到值

代码语言:javascript
复制
Gname = row[0].value        
Fname = row[1].value        
Lname = row[2].value

print Gname
print Fname
print Lname 

现在的结果将是

代码语言:javascript
复制
olling_station_3 
Alexandria 
10901    

(如果要更改行)

代码语言:javascript
复制
row = sheet1.row(0)  # change row(0) Value
票数 1
EN

Stack Overflow用户

发布于 2015-12-08 16:04:08

代码语言:javascript
复制
import xlrd

excel_sheet = xlrd.open_workbook("teacher.xlsx")
sheet1= excel_sheet.sheet_by_name('parents')

for i in range(0, sheet1.nrows):        
    row = sheet1.row_slice(i)        
    Gname = row[0].value        
    Fname = row[1].value        
    Lname = row[2].value

# these are outside the for loop so only printed for last row
print Gname
print Fname
print Lname

    # indent them to here and they will be printed for all rows
    print Gname
    print Fname
    print Lname        
票数 0
EN

Stack Overflow用户

发布于 2015-12-08 16:15:02

你有编码问题。通过更改print语句,可以看到结果。

代码语言:javascript
复制
import xlrd

excel_sheet = xlrd.open_workbook("teacher.xlsx")
sheet1= excel_sheet.sheet_by_name('parents')

for i in range(0, sheet1.nrows):        
    row = sheet1.row_slice(i)        
    Gname = row[0].value        
    Fname = row[1].value        
    Lname = row[2].value

    print Gname
    print Fname
    print Lname

您正在迭代这些行,并且当前只打印最终结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34159705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档