1
所以,我有一個QTableWidget的應用程序和要導入一個.xls文件:PyQt的打開文件對話框錯誤
def openfile(self):
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open File', '/home', ".xls(*.xls)")
fname = open(filename)
with fname:
wb = xlrd.open_workbook(fname)
wb.sheet_names()
sh = wb.sheet_by_index(0)
for col in sh.ncols:
for i in col:
r = 0
c = 0
newItem = QtGui.QTableWidgetItem(i)
self.tableWidget.setItem(r, c, newItem)
r += 1
r = 0
c += 1
但是,我得到這個錯誤:TypeError: coercing to Unicode: need string or buffer, file found
我做了什麼錯?
更新:
def openfile(self):
filename = unicode(QtGui.QFileDialog.getOpenFileName(self, 'Open File', '', ".xls(*.xls)"))
wb = xlrd.open_workbook(filename)
wb.sheet_names()
sh = wb.sheet_by_index(0)
self.first = sh.col_values(0)
self.r = 0
self.add()
def add(self):
for i in self.first:
str(i)
newItem = QtGui.QTableWidgetItem(i)
self.tableWidget.setItem(self.r, 0, newItem)
self.r += 1
它的工作,但我不能加載數...... 只有串... 怪異......
UPDATE2:
def add(self):
for i in self.first:
newItem = QtGui.QTableWidgetItem(str(i))
self.tableWidget.setItem(self.r, 0, newItem)
self.r += 1
但它顯示所有數字爲浮動....
UPDATE3:
def add(self):
for i in self.first:
try:
newItem = QtGui.QTableWidgetItem(str(int(i)))
except ValueError:
newItem = QtGui.QTableWidgetItem(str(i))
self.tableWidget.setItem(self.r, 0, newItem)
self.r += 1
問題解決了......
現在我得到這樣的:filestr = mmap.mmap(f.fileno(),大小,訪問= mmap.ACCESS_READ) ValueError異常:MMAP偏移大於文件大小大 – Antoni4040 2012-08-05 12:41:18
你可以如果'size'大於'f'的文件大小,則會出現此錯誤。如果這沒有幫助,請打開一個新的問題,並更詳細地說明'f'和'size'的定義。 – unutbu 2012-08-05 13:07:38
什麼?我不明白... – Antoni4040 2012-08-05 13:11:42