我正在尝试从.xlsx
文件中读取几行并将信息保存到列表中。我想要的数据是sheet1
,这是唯一的表格。下面的代码似乎打开文件确定并计算有6列。这是正确的。
但是当我尝试让python读取第一行中的数据时,我得到的是[0,0,0,0,0,0]
。我不确定我做错了什么。
最终我希望代码读取文件的第一行和最后10行。我还添加了.xlsx
文件的片段,以便您可以在那里看到设置:
我拥有的python版本是2.7.12。
from win32com.client import Dispatch
import string
scrExcelFile = r"D:/python_class/Semester_Project/index2.xlsx"
exclApp = Dispatch("Excel.Application")
exclWrkBk = exclApp.Workbooks.open(scrExcelFile)
exclsheet = exclWrkBk.Sheets(1)
lastCol = exclsheet.UsedRange.Columns.Count
print "The last comlumn number is %r" % lastCol
headers = []
for row in range(1):
for col in range(lastCol):
headers.append(row)
print headers
答案 0 :(得分:0)
你没有考虑python中的范围从0开始的帐户,在excel行中,列从1开始。所以你的代码应该是这样的:
from win32com.client import Dispatch
import string
scrExcelFile = r"D:111.xlsx"
exclApp = Dispatch("Excel.Application")
exclWrkBk = exclApp.Workbooks.open(scrExcelFile)
exclsheet = exclWrkBk.Sheets(1)
lastCol = exclsheet.UsedRange.Columns.Count
print ("The last comlumn number is %r" % lastCol)
headers=[]
for r in range(1,lastCol+1):
headers.append(exclsheet.Cells(1,r).Value)
print (headers)
除此之外,请检查此问题以提高效果:Excel using win32com and python