我使用xlrd和python来提取excel数据,一切都很好,数据拖动也很好,但代码只获取最后一行数据。
这里是我的
+-------------------+------------+------------------------+
| polling_station_1 | Cairo | 7734 |
+-------------------+------------+------------------------+
| polling_station_2 | Giza | 13332 |
+-------------------+------------+------------------------+
| polling_station_3 | Alexandria | 10901 |
+-------------------+------------+------------------------+这里是我的代码
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与结果
polling_station_3
Alexandria
10901 这是最后一行,但我想要从第一行的数据注意:更改的范围仍然显示在最后一行.
有谁能弄清楚
发布于 2015-12-08 16:10:28
excel_sheet = xlrd.open_workbook("teacher.xlsx")
sheet1= excel_sheet.sheet_by_name('parents')
row = sheet1.row(0) # 1st row如果打印行输出为,则为
[text:u'polling_station_1', text:u'cairo', text:u'7734']现在分割它或者一个一个地得到值
Gname = row[0].value
Fname = row[1].value
Lname = row[2].value
print Gname
print Fname
print Lname 现在的结果将是
olling_station_3
Alexandria
10901 (如果要更改行)
row = sheet1.row(0) # change row(0) Value发布于 2015-12-08 16:04:08
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 发布于 2015-12-08 16:15:02
你有编码问题。通过更改print语句,可以看到结果。
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您正在迭代这些行,并且当前只打印最终结果。
https://stackoverflow.com/questions/34159705
复制相似问题