Can't fill some cells of tablewidget. PyQt5Why can't Python parse this JSON data?UnicodeEncodeError: 'ascii' codec can't encode character u'xa0' in position 20: ordinal not in range(128)Python QT - Refresh all widgetsModify cells in QTableView PYQT5pyqt5 tablewidgets retrieving dataload data into tableWidget PyQt5multiple gui python qt and switch between thempyqt5: Reading and Writing to CSV with tableWidgetDynamically add rows and columns in QTable in pyQT5

Hotel booking: Why is Agoda much cheaper than booking.com?

Vehemently against code formatting

Why won't the U.S. be a signatory nation of The United Nations Convention on the Law of the Sea?

On a piano, are the effects of holding notes and the sustain pedal the same for a single chord?

Chain rule instead of product rule

Can a Warforged have a ranged weapon affixed to them like an armblade?

How could the B-29 bomber back up under its own power?

Parse a C++14 integer literal

Was murdering a slave illegal in American slavery, and if so, what punishments were given for it?

Why does snapping your fingers activate the Infinity Gauntlet?

Why is so much ransomware breakable?

Why is Drogon so much better in battle than Rhaegal and Viserion?

Bash Read: Reading comma separated list, last element is missed

Better than Rembrandt

Why should one apply for UK visa before other visas, on a multi-destination European holiday?

Why did Nick Fury not hesitate in blowing up the plane he thought was carrying a nuke?

Gambler's Fallacy Dice

What city and town structures are important in a low fantasy medieval world?

How to plot a surface from a system of equations?

How can sister protect herself from impulse purchases with a credit card?

Addressing an email

How to fix "webpack Dev Server Invalid Options" in Vuejs

How can I prevent Bash expansion from passing files starting with "-" as argument?

Cycling to work - 30mile return



Can't fill some cells of tablewidget. PyQt5


Why can't Python parse this JSON data?UnicodeEncodeError: 'ascii' codec can't encode character u'xa0' in position 20: ordinal not in range(128)Python QT - Refresh all widgetsModify cells in QTableView PYQT5pyqt5 tablewidgets retrieving dataload data into tableWidget PyQt5multiple gui python qt and switch between thempyqt5: Reading and Writing to CSV with tableWidgetDynamically add rows and columns in QTable in pyQT5






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I'm programming a simple csv handler that will just look at two columns using python 3.7.2 and pyqt5. It will have a desired number of rows and all of them needs to be filled for my program to work. But when I run my loops only 11 out of 20 cells get filled. When I decrease the row count to 10 this ratio is 6/10 and for 6 this is 4/6. I can't find why this occurs.



Here is the loop that sets the headers firstly.



x = 0
while x<total_rows:
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setVerticalHeaderItem(x, item)
x+=1


This is the loop that fills the first column with zeros.



x = 0
while x<total_rows:
print(x)
self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
x+=1


And this is the loop that fills the second column with zeros.



x = 0
while x<total_rows:
print(x)
self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
x+=1


For other details that you may need when you are solving my problems here is the whole code. (I have no file sharing platforms available right now. Please accept my apologies for sharing the whole code in text.)



# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'database.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
import os
from pandas import DataFrame, read_csv
import pandas as pd
from datetime import datetime
from PyQt5 import QtCore, QtGui, QtWidgets

total_rows = 20

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(551, 602)

#Layout

self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setSpacing(0)
self.verticalLayout.setObjectName("verticalLayout")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setMaximumSize(QtCore.QSize(16777215, 70))
self.widget.setStyleSheet("background-color: black;")
self.widget.setObjectName("widget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(self.widget)
self.label.setStyleSheet("color: white;nfont-size: 36px;")
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
spacerItem = QtWidgets.QSpacerItem(337, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.verticalLayout.addWidget(self.widget)
self.widget_2 = QtWidgets.QWidget(self.centralwidget)
self.widget_2.setStyleSheet("background-color: #777;")
self.widget_2.setObjectName("widget_2")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget_2)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.widget_3 = QtWidgets.QWidget(self.widget_2)
self.widget_3.setStyleSheet("background-color: #556;")
self.widget_3.setObjectName("widget_3")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget_3)
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_3.setSpacing(0)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.widget_5 = QtWidgets.QWidget(self.widget_3)
self.widget_5.setStyleSheet("background-color:white;")
self.widget_5.setObjectName("widget_5")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget_5)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")

#TableWidget

self.tableWidget = QtWidgets.QTableWidget(self.widget_5)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
self.tableWidget.setSizePolicy(sizePolicy)
self.tableWidget.setStyleSheet("background-color: #eee;")
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(2)
self.tableWidget.setRowCount(total_rows)
x = 0
while x<total_rows:
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setVerticalHeaderItem(x, item)
x+=1
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
self.horizontalLayout_2.addWidget(self.tableWidget)

#CalendarWidget

self.calendarWidget = QtWidgets.QCalendarWidget(self.widget_5)
self.calendarWidget.setStyleSheet("color:black;")
self.calendarWidget.setObjectName("calendarWidget")
self.horizontalLayout_2.addWidget(self.calendarWidget)
self.verticalLayout_3.addWidget(self.widget_5)
self.widget_4 = QtWidgets.QWidget(self.widget_3)
self.widget_4.setStyleSheet("background-color: white;")
self.widget_4.setObjectName("widget_4")
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.widget_4)
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.widget_8 = QtWidgets.QWidget(self.widget_4)
self.widget_8.setObjectName("widget_8")
self.verticalLayout_5.addWidget(self.widget_8)
self.widget_9 = QtWidgets.QWidget(self.widget_4)
self.widget_9.setObjectName("widget_9")
self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget_9)
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(spacerItem1)

#PushButton

self.pushButton = QtWidgets.QPushButton(self.widget_9)
self.pushButton.setStyleSheet("background-color: black;ncolor: white;")
self.pushButton.setObjectName("pushButton")
self.horizontalLayout_6.addWidget(self.pushButton)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(spacerItem2)
self.verticalLayout_5.addWidget(self.widget_9)
self.verticalLayout_3.addWidget(self.widget_4)
self.verticalLayout_2.addWidget(self.widget_3)
self.verticalWidget = QtWidgets.QWidget(self.widget_2)
self.verticalWidget.setStyleSheet("background-color: white;")
self.verticalWidget.setObjectName("verticalWidget")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalWidget)
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.widget_7 = QtWidgets.QWidget(self.verticalWidget)
self.widget_7.setObjectName("widget_7")
self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.widget_7)
self.horizontalLayout_4.setObjectName("horizontalLayout_4")

#ListWidget

self.listWidget = QtWidgets.QListWidget(self.widget_7)
self.listWidget.setStyleSheet("background-color:#eee;")
self.listWidget.setObjectName("listWidget")

#Get files and insert into list widget

files = os.listdir("files")
for index, value in enumerate(files):
item = QtWidgets.QListWidgetItem(value)
self.listWidget.addItem(item)


self.horizontalLayout_4.addWidget(self.listWidget)

spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_4.addItem(spacerItem3)
self.verticalLayout_4.addWidget(self.widget_7)
self.widget_6 = QtWidgets.QWidget(self.verticalWidget)
self.widget_6.setObjectName("widget_6")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget_6)
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem4)

#PushButton2

self.pushButton_2 = QtWidgets.QPushButton(self.widget_6)
self.pushButton_2.setStyleSheet("background-color:black;ncolor:white;")
self.pushButton_2.setObjectName("pushButton_2")
self.horizontalLayout_3.addWidget(self.pushButton_2)

spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem5)
self.verticalLayout_4.addWidget(self.widget_6)
self.verticalLayout_2.addWidget(self.verticalWidget)
self.verticalLayout.addWidget(self.widget_2)
MainWindow.setCentralWidget(self.centralwidget)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def save_file(self):

#Takvim değerini al
current_date = self.calendarWidget.selectedDate()
current_date_text = current_date.toPyDate().strftime("%d%b%y")

#Table'daki değerleri al
allRows = self.tableWidget.rowCount()

#Pandas table için listeleri oluştur
headers = []
items = []
for row in range(0,allRows):
print(row)
item = self.tableWidget.item(row,1).text()
items.append(item)
item = self.tableWidget.item(row,0).text()
headers.append(item)

#dataset oluştur
data_set = list(zip(headers,items))

#dataframe oluştur
data_frame = pd.DataFrame(data = data_set)

#csv dosyası oluştur
data_frame.to_csv("files/" + current_date_text + ".csv", index = False)

#listview güncelle
files = os.listdir("files")
print(files)
for index, value in enumerate(files):
item = QtWidgets.QListWidgetItem(value)
self.listWidget.addItem(item)
item = self.listWidget.item(index)
item.setText(value)

def open_file(self):
#dosya ismini al
selected_file = self.listWidget.currentItem().text()

#csv dosyasını aç dataframe oluştur
data_frame = pd.read_csv("files/" + selected_file)
items = data_frame["0"].values.tolist()
items = data_frame["1"].values.tolist()
print(items)

for row in range(0,total_rows):
header = row
item = self.tableWidget.setItem(0,row, QtWidgets.QTableWidgetItem(str(items[row])))

def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

#Set TableWidget

self.label.setText(_translate("MainWindow", "Defter"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Isim"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Miktar"))
x = 0
while x<total_rows:
print(x)
self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
x+=1

x = 0
while x<total_rows:
print(x)
self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
x+=1
self.pushButton.setText(_translate("MainWindow", "Kaydet"))
self.pushButton.clicked.connect(self.save_file)
__sortingEnabled = self.listWidget.isSortingEnabled()
self.listWidget.setSortingEnabled(False)
files = os.listdir("files")
for index, value in enumerate(files):
item = self.listWidget.item(index)
item.setText(value)
self.listWidget.setSortingEnabled(__sortingEnabled)
self.pushButton_2.setText(_translate("MainWindow", "Dosyayı aç"))
self.pushButton_2.clicked.connect(self.open_file)


if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())


I put the print statements if my loops were just wrong. I checked and all loops run 20 times (As the x values reach 19 everytime).



Edit: It seems like double-digits are the problem.But this syntax is surely true according to the documentation.



self.tableWidget.setItem(1,10, QtWidgets.QTableWidgetItem("0"))









share|improve this question






























    0















    I'm programming a simple csv handler that will just look at two columns using python 3.7.2 and pyqt5. It will have a desired number of rows and all of them needs to be filled for my program to work. But when I run my loops only 11 out of 20 cells get filled. When I decrease the row count to 10 this ratio is 6/10 and for 6 this is 4/6. I can't find why this occurs.



    Here is the loop that sets the headers firstly.



    x = 0
    while x<total_rows:
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setVerticalHeaderItem(x, item)
    x+=1


    This is the loop that fills the first column with zeros.



    x = 0
    while x<total_rows:
    print(x)
    self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
    x+=1


    And this is the loop that fills the second column with zeros.



    x = 0
    while x<total_rows:
    print(x)
    self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
    x+=1


    For other details that you may need when you are solving my problems here is the whole code. (I have no file sharing platforms available right now. Please accept my apologies for sharing the whole code in text.)



    # -*- coding: utf-8 -*-
    # Form implementation generated from reading ui file 'database.ui'
    #
    # Created by: PyQt5 UI code generator 5.11.3
    #
    # WARNING! All changes made in this file will be lost!
    import os
    from pandas import DataFrame, read_csv
    import pandas as pd
    from datetime import datetime
    from PyQt5 import QtCore, QtGui, QtWidgets

    total_rows = 20

    class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(551, 602)

    #Layout

    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
    self.verticalLayout.setContentsMargins(0, 0, 0, 0)
    self.verticalLayout.setSpacing(0)
    self.verticalLayout.setObjectName("verticalLayout")
    self.widget = QtWidgets.QWidget(self.centralwidget)
    self.widget.setMaximumSize(QtCore.QSize(16777215, 70))
    self.widget.setStyleSheet("background-color: black;")
    self.widget.setObjectName("widget")
    self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)
    self.horizontalLayout.setObjectName("horizontalLayout")
    self.label = QtWidgets.QLabel(self.widget)
    self.label.setStyleSheet("color: white;nfont-size: 36px;")
    self.label.setObjectName("label")
    self.horizontalLayout.addWidget(self.label)
    spacerItem = QtWidgets.QSpacerItem(337, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout.addItem(spacerItem)
    self.verticalLayout.addWidget(self.widget)
    self.widget_2 = QtWidgets.QWidget(self.centralwidget)
    self.widget_2.setStyleSheet("background-color: #777;")
    self.widget_2.setObjectName("widget_2")
    self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget_2)
    self.verticalLayout_2.setObjectName("verticalLayout_2")
    self.widget_3 = QtWidgets.QWidget(self.widget_2)
    self.widget_3.setStyleSheet("background-color: #556;")
    self.widget_3.setObjectName("widget_3")
    self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget_3)
    self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
    self.verticalLayout_3.setSpacing(0)
    self.verticalLayout_3.setObjectName("verticalLayout_3")
    self.widget_5 = QtWidgets.QWidget(self.widget_3)
    self.widget_5.setStyleSheet("background-color:white;")
    self.widget_5.setObjectName("widget_5")
    self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget_5)
    self.horizontalLayout_2.setObjectName("horizontalLayout_2")

    #TableWidget

    self.tableWidget = QtWidgets.QTableWidget(self.widget_5)
    sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
    sizePolicy.setHorizontalStretch(0)
    sizePolicy.setVerticalStretch(0)
    sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
    self.tableWidget.setSizePolicy(sizePolicy)
    self.tableWidget.setStyleSheet("background-color: #eee;")
    self.tableWidget.setObjectName("tableWidget")
    self.tableWidget.setColumnCount(2)
    self.tableWidget.setRowCount(total_rows)
    x = 0
    while x<total_rows:
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setVerticalHeaderItem(x, item)
    x+=1
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(0, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(1, item)
    self.horizontalLayout_2.addWidget(self.tableWidget)

    #CalendarWidget

    self.calendarWidget = QtWidgets.QCalendarWidget(self.widget_5)
    self.calendarWidget.setStyleSheet("color:black;")
    self.calendarWidget.setObjectName("calendarWidget")
    self.horizontalLayout_2.addWidget(self.calendarWidget)
    self.verticalLayout_3.addWidget(self.widget_5)
    self.widget_4 = QtWidgets.QWidget(self.widget_3)
    self.widget_4.setStyleSheet("background-color: white;")
    self.widget_4.setObjectName("widget_4")
    self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.widget_4)
    self.verticalLayout_5.setObjectName("verticalLayout_5")
    self.widget_8 = QtWidgets.QWidget(self.widget_4)
    self.widget_8.setObjectName("widget_8")
    self.verticalLayout_5.addWidget(self.widget_8)
    self.widget_9 = QtWidgets.QWidget(self.widget_4)
    self.widget_9.setObjectName("widget_9")
    self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget_9)
    self.horizontalLayout_6.setObjectName("horizontalLayout_6")
    spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_6.addItem(spacerItem1)

    #PushButton

    self.pushButton = QtWidgets.QPushButton(self.widget_9)
    self.pushButton.setStyleSheet("background-color: black;ncolor: white;")
    self.pushButton.setObjectName("pushButton")
    self.horizontalLayout_6.addWidget(self.pushButton)
    spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_6.addItem(spacerItem2)
    self.verticalLayout_5.addWidget(self.widget_9)
    self.verticalLayout_3.addWidget(self.widget_4)
    self.verticalLayout_2.addWidget(self.widget_3)
    self.verticalWidget = QtWidgets.QWidget(self.widget_2)
    self.verticalWidget.setStyleSheet("background-color: white;")
    self.verticalWidget.setObjectName("verticalWidget")
    self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalWidget)
    self.verticalLayout_4.setObjectName("verticalLayout_4")
    self.widget_7 = QtWidgets.QWidget(self.verticalWidget)
    self.widget_7.setObjectName("widget_7")
    self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.widget_7)
    self.horizontalLayout_4.setObjectName("horizontalLayout_4")

    #ListWidget

    self.listWidget = QtWidgets.QListWidget(self.widget_7)
    self.listWidget.setStyleSheet("background-color:#eee;")
    self.listWidget.setObjectName("listWidget")

    #Get files and insert into list widget

    files = os.listdir("files")
    for index, value in enumerate(files):
    item = QtWidgets.QListWidgetItem(value)
    self.listWidget.addItem(item)


    self.horizontalLayout_4.addWidget(self.listWidget)

    spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_4.addItem(spacerItem3)
    self.verticalLayout_4.addWidget(self.widget_7)
    self.widget_6 = QtWidgets.QWidget(self.verticalWidget)
    self.widget_6.setObjectName("widget_6")
    self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget_6)
    self.horizontalLayout_3.setObjectName("horizontalLayout_3")
    spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_3.addItem(spacerItem4)

    #PushButton2

    self.pushButton_2 = QtWidgets.QPushButton(self.widget_6)
    self.pushButton_2.setStyleSheet("background-color:black;ncolor:white;")
    self.pushButton_2.setObjectName("pushButton_2")
    self.horizontalLayout_3.addWidget(self.pushButton_2)

    spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_3.addItem(spacerItem5)
    self.verticalLayout_4.addWidget(self.widget_6)
    self.verticalLayout_2.addWidget(self.verticalWidget)
    self.verticalLayout.addWidget(self.widget_2)
    MainWindow.setCentralWidget(self.centralwidget)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def save_file(self):

    #Takvim değerini al
    current_date = self.calendarWidget.selectedDate()
    current_date_text = current_date.toPyDate().strftime("%d%b%y")

    #Table'daki değerleri al
    allRows = self.tableWidget.rowCount()

    #Pandas table için listeleri oluştur
    headers = []
    items = []
    for row in range(0,allRows):
    print(row)
    item = self.tableWidget.item(row,1).text()
    items.append(item)
    item = self.tableWidget.item(row,0).text()
    headers.append(item)

    #dataset oluştur
    data_set = list(zip(headers,items))

    #dataframe oluştur
    data_frame = pd.DataFrame(data = data_set)

    #csv dosyası oluştur
    data_frame.to_csv("files/" + current_date_text + ".csv", index = False)

    #listview güncelle
    files = os.listdir("files")
    print(files)
    for index, value in enumerate(files):
    item = QtWidgets.QListWidgetItem(value)
    self.listWidget.addItem(item)
    item = self.listWidget.item(index)
    item.setText(value)

    def open_file(self):
    #dosya ismini al
    selected_file = self.listWidget.currentItem().text()

    #csv dosyasını aç dataframe oluştur
    data_frame = pd.read_csv("files/" + selected_file)
    items = data_frame["0"].values.tolist()
    items = data_frame["1"].values.tolist()
    print(items)

    for row in range(0,total_rows):
    header = row
    item = self.tableWidget.setItem(0,row, QtWidgets.QTableWidgetItem(str(items[row])))

    def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

    #Set TableWidget

    self.label.setText(_translate("MainWindow", "Defter"))
    item = self.tableWidget.horizontalHeaderItem(0)
    item.setText(_translate("MainWindow", "Isim"))
    item = self.tableWidget.horizontalHeaderItem(1)
    item.setText(_translate("MainWindow", "Miktar"))
    x = 0
    while x<total_rows:
    print(x)
    self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
    x+=1

    x = 0
    while x<total_rows:
    print(x)
    self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
    x+=1
    self.pushButton.setText(_translate("MainWindow", "Kaydet"))
    self.pushButton.clicked.connect(self.save_file)
    __sortingEnabled = self.listWidget.isSortingEnabled()
    self.listWidget.setSortingEnabled(False)
    files = os.listdir("files")
    for index, value in enumerate(files):
    item = self.listWidget.item(index)
    item.setText(value)
    self.listWidget.setSortingEnabled(__sortingEnabled)
    self.pushButton_2.setText(_translate("MainWindow", "Dosyayı aç"))
    self.pushButton_2.clicked.connect(self.open_file)


    if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())


    I put the print statements if my loops were just wrong. I checked and all loops run 20 times (As the x values reach 19 everytime).



    Edit: It seems like double-digits are the problem.But this syntax is surely true according to the documentation.



    self.tableWidget.setItem(1,10, QtWidgets.QTableWidgetItem("0"))









    share|improve this question


























      0












      0








      0








      I'm programming a simple csv handler that will just look at two columns using python 3.7.2 and pyqt5. It will have a desired number of rows and all of them needs to be filled for my program to work. But when I run my loops only 11 out of 20 cells get filled. When I decrease the row count to 10 this ratio is 6/10 and for 6 this is 4/6. I can't find why this occurs.



      Here is the loop that sets the headers firstly.



      x = 0
      while x<total_rows:
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setVerticalHeaderItem(x, item)
      x+=1


      This is the loop that fills the first column with zeros.



      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
      x+=1


      And this is the loop that fills the second column with zeros.



      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
      x+=1


      For other details that you may need when you are solving my problems here is the whole code. (I have no file sharing platforms available right now. Please accept my apologies for sharing the whole code in text.)



      # -*- coding: utf-8 -*-
      # Form implementation generated from reading ui file 'database.ui'
      #
      # Created by: PyQt5 UI code generator 5.11.3
      #
      # WARNING! All changes made in this file will be lost!
      import os
      from pandas import DataFrame, read_csv
      import pandas as pd
      from datetime import datetime
      from PyQt5 import QtCore, QtGui, QtWidgets

      total_rows = 20

      class Ui_MainWindow(object):
      def setupUi(self, MainWindow):
      MainWindow.setObjectName("MainWindow")
      MainWindow.resize(551, 602)

      #Layout

      self.centralwidget = QtWidgets.QWidget(MainWindow)
      self.centralwidget.setObjectName("centralwidget")
      self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
      self.verticalLayout.setContentsMargins(0, 0, 0, 0)
      self.verticalLayout.setSpacing(0)
      self.verticalLayout.setObjectName("verticalLayout")
      self.widget = QtWidgets.QWidget(self.centralwidget)
      self.widget.setMaximumSize(QtCore.QSize(16777215, 70))
      self.widget.setStyleSheet("background-color: black;")
      self.widget.setObjectName("widget")
      self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)
      self.horizontalLayout.setObjectName("horizontalLayout")
      self.label = QtWidgets.QLabel(self.widget)
      self.label.setStyleSheet("color: white;nfont-size: 36px;")
      self.label.setObjectName("label")
      self.horizontalLayout.addWidget(self.label)
      spacerItem = QtWidgets.QSpacerItem(337, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout.addItem(spacerItem)
      self.verticalLayout.addWidget(self.widget)
      self.widget_2 = QtWidgets.QWidget(self.centralwidget)
      self.widget_2.setStyleSheet("background-color: #777;")
      self.widget_2.setObjectName("widget_2")
      self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget_2)
      self.verticalLayout_2.setObjectName("verticalLayout_2")
      self.widget_3 = QtWidgets.QWidget(self.widget_2)
      self.widget_3.setStyleSheet("background-color: #556;")
      self.widget_3.setObjectName("widget_3")
      self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget_3)
      self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
      self.verticalLayout_3.setSpacing(0)
      self.verticalLayout_3.setObjectName("verticalLayout_3")
      self.widget_5 = QtWidgets.QWidget(self.widget_3)
      self.widget_5.setStyleSheet("background-color:white;")
      self.widget_5.setObjectName("widget_5")
      self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget_5)
      self.horizontalLayout_2.setObjectName("horizontalLayout_2")

      #TableWidget

      self.tableWidget = QtWidgets.QTableWidget(self.widget_5)
      sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
      sizePolicy.setHorizontalStretch(0)
      sizePolicy.setVerticalStretch(0)
      sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
      self.tableWidget.setSizePolicy(sizePolicy)
      self.tableWidget.setStyleSheet("background-color: #eee;")
      self.tableWidget.setObjectName("tableWidget")
      self.tableWidget.setColumnCount(2)
      self.tableWidget.setRowCount(total_rows)
      x = 0
      while x<total_rows:
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setVerticalHeaderItem(x, item)
      x+=1
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setHorizontalHeaderItem(0, item)
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setHorizontalHeaderItem(1, item)
      self.horizontalLayout_2.addWidget(self.tableWidget)

      #CalendarWidget

      self.calendarWidget = QtWidgets.QCalendarWidget(self.widget_5)
      self.calendarWidget.setStyleSheet("color:black;")
      self.calendarWidget.setObjectName("calendarWidget")
      self.horizontalLayout_2.addWidget(self.calendarWidget)
      self.verticalLayout_3.addWidget(self.widget_5)
      self.widget_4 = QtWidgets.QWidget(self.widget_3)
      self.widget_4.setStyleSheet("background-color: white;")
      self.widget_4.setObjectName("widget_4")
      self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.widget_4)
      self.verticalLayout_5.setObjectName("verticalLayout_5")
      self.widget_8 = QtWidgets.QWidget(self.widget_4)
      self.widget_8.setObjectName("widget_8")
      self.verticalLayout_5.addWidget(self.widget_8)
      self.widget_9 = QtWidgets.QWidget(self.widget_4)
      self.widget_9.setObjectName("widget_9")
      self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget_9)
      self.horizontalLayout_6.setObjectName("horizontalLayout_6")
      spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_6.addItem(spacerItem1)

      #PushButton

      self.pushButton = QtWidgets.QPushButton(self.widget_9)
      self.pushButton.setStyleSheet("background-color: black;ncolor: white;")
      self.pushButton.setObjectName("pushButton")
      self.horizontalLayout_6.addWidget(self.pushButton)
      spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_6.addItem(spacerItem2)
      self.verticalLayout_5.addWidget(self.widget_9)
      self.verticalLayout_3.addWidget(self.widget_4)
      self.verticalLayout_2.addWidget(self.widget_3)
      self.verticalWidget = QtWidgets.QWidget(self.widget_2)
      self.verticalWidget.setStyleSheet("background-color: white;")
      self.verticalWidget.setObjectName("verticalWidget")
      self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalWidget)
      self.verticalLayout_4.setObjectName("verticalLayout_4")
      self.widget_7 = QtWidgets.QWidget(self.verticalWidget)
      self.widget_7.setObjectName("widget_7")
      self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.widget_7)
      self.horizontalLayout_4.setObjectName("horizontalLayout_4")

      #ListWidget

      self.listWidget = QtWidgets.QListWidget(self.widget_7)
      self.listWidget.setStyleSheet("background-color:#eee;")
      self.listWidget.setObjectName("listWidget")

      #Get files and insert into list widget

      files = os.listdir("files")
      for index, value in enumerate(files):
      item = QtWidgets.QListWidgetItem(value)
      self.listWidget.addItem(item)


      self.horizontalLayout_4.addWidget(self.listWidget)

      spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_4.addItem(spacerItem3)
      self.verticalLayout_4.addWidget(self.widget_7)
      self.widget_6 = QtWidgets.QWidget(self.verticalWidget)
      self.widget_6.setObjectName("widget_6")
      self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget_6)
      self.horizontalLayout_3.setObjectName("horizontalLayout_3")
      spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_3.addItem(spacerItem4)

      #PushButton2

      self.pushButton_2 = QtWidgets.QPushButton(self.widget_6)
      self.pushButton_2.setStyleSheet("background-color:black;ncolor:white;")
      self.pushButton_2.setObjectName("pushButton_2")
      self.horizontalLayout_3.addWidget(self.pushButton_2)

      spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_3.addItem(spacerItem5)
      self.verticalLayout_4.addWidget(self.widget_6)
      self.verticalLayout_2.addWidget(self.verticalWidget)
      self.verticalLayout.addWidget(self.widget_2)
      MainWindow.setCentralWidget(self.centralwidget)

      self.retranslateUi(MainWindow)
      QtCore.QMetaObject.connectSlotsByName(MainWindow)

      def save_file(self):

      #Takvim değerini al
      current_date = self.calendarWidget.selectedDate()
      current_date_text = current_date.toPyDate().strftime("%d%b%y")

      #Table'daki değerleri al
      allRows = self.tableWidget.rowCount()

      #Pandas table için listeleri oluştur
      headers = []
      items = []
      for row in range(0,allRows):
      print(row)
      item = self.tableWidget.item(row,1).text()
      items.append(item)
      item = self.tableWidget.item(row,0).text()
      headers.append(item)

      #dataset oluştur
      data_set = list(zip(headers,items))

      #dataframe oluştur
      data_frame = pd.DataFrame(data = data_set)

      #csv dosyası oluştur
      data_frame.to_csv("files/" + current_date_text + ".csv", index = False)

      #listview güncelle
      files = os.listdir("files")
      print(files)
      for index, value in enumerate(files):
      item = QtWidgets.QListWidgetItem(value)
      self.listWidget.addItem(item)
      item = self.listWidget.item(index)
      item.setText(value)

      def open_file(self):
      #dosya ismini al
      selected_file = self.listWidget.currentItem().text()

      #csv dosyasını aç dataframe oluştur
      data_frame = pd.read_csv("files/" + selected_file)
      items = data_frame["0"].values.tolist()
      items = data_frame["1"].values.tolist()
      print(items)

      for row in range(0,total_rows):
      header = row
      item = self.tableWidget.setItem(0,row, QtWidgets.QTableWidgetItem(str(items[row])))

      def retranslateUi(self, MainWindow):
      _translate = QtCore.QCoreApplication.translate
      MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

      #Set TableWidget

      self.label.setText(_translate("MainWindow", "Defter"))
      item = self.tableWidget.horizontalHeaderItem(0)
      item.setText(_translate("MainWindow", "Isim"))
      item = self.tableWidget.horizontalHeaderItem(1)
      item.setText(_translate("MainWindow", "Miktar"))
      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
      x+=1

      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
      x+=1
      self.pushButton.setText(_translate("MainWindow", "Kaydet"))
      self.pushButton.clicked.connect(self.save_file)
      __sortingEnabled = self.listWidget.isSortingEnabled()
      self.listWidget.setSortingEnabled(False)
      files = os.listdir("files")
      for index, value in enumerate(files):
      item = self.listWidget.item(index)
      item.setText(value)
      self.listWidget.setSortingEnabled(__sortingEnabled)
      self.pushButton_2.setText(_translate("MainWindow", "Dosyayı aç"))
      self.pushButton_2.clicked.connect(self.open_file)


      if __name__ == "__main__":
      import sys
      app = QtWidgets.QApplication(sys.argv)
      MainWindow = QtWidgets.QMainWindow()
      ui = Ui_MainWindow()
      ui.setupUi(MainWindow)
      MainWindow.show()
      sys.exit(app.exec_())


      I put the print statements if my loops were just wrong. I checked and all loops run 20 times (As the x values reach 19 everytime).



      Edit: It seems like double-digits are the problem.But this syntax is surely true according to the documentation.



      self.tableWidget.setItem(1,10, QtWidgets.QTableWidgetItem("0"))









      share|improve this question
















      I'm programming a simple csv handler that will just look at two columns using python 3.7.2 and pyqt5. It will have a desired number of rows and all of them needs to be filled for my program to work. But when I run my loops only 11 out of 20 cells get filled. When I decrease the row count to 10 this ratio is 6/10 and for 6 this is 4/6. I can't find why this occurs.



      Here is the loop that sets the headers firstly.



      x = 0
      while x<total_rows:
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setVerticalHeaderItem(x, item)
      x+=1


      This is the loop that fills the first column with zeros.



      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
      x+=1


      And this is the loop that fills the second column with zeros.



      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
      x+=1


      For other details that you may need when you are solving my problems here is the whole code. (I have no file sharing platforms available right now. Please accept my apologies for sharing the whole code in text.)



      # -*- coding: utf-8 -*-
      # Form implementation generated from reading ui file 'database.ui'
      #
      # Created by: PyQt5 UI code generator 5.11.3
      #
      # WARNING! All changes made in this file will be lost!
      import os
      from pandas import DataFrame, read_csv
      import pandas as pd
      from datetime import datetime
      from PyQt5 import QtCore, QtGui, QtWidgets

      total_rows = 20

      class Ui_MainWindow(object):
      def setupUi(self, MainWindow):
      MainWindow.setObjectName("MainWindow")
      MainWindow.resize(551, 602)

      #Layout

      self.centralwidget = QtWidgets.QWidget(MainWindow)
      self.centralwidget.setObjectName("centralwidget")
      self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
      self.verticalLayout.setContentsMargins(0, 0, 0, 0)
      self.verticalLayout.setSpacing(0)
      self.verticalLayout.setObjectName("verticalLayout")
      self.widget = QtWidgets.QWidget(self.centralwidget)
      self.widget.setMaximumSize(QtCore.QSize(16777215, 70))
      self.widget.setStyleSheet("background-color: black;")
      self.widget.setObjectName("widget")
      self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)
      self.horizontalLayout.setObjectName("horizontalLayout")
      self.label = QtWidgets.QLabel(self.widget)
      self.label.setStyleSheet("color: white;nfont-size: 36px;")
      self.label.setObjectName("label")
      self.horizontalLayout.addWidget(self.label)
      spacerItem = QtWidgets.QSpacerItem(337, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout.addItem(spacerItem)
      self.verticalLayout.addWidget(self.widget)
      self.widget_2 = QtWidgets.QWidget(self.centralwidget)
      self.widget_2.setStyleSheet("background-color: #777;")
      self.widget_2.setObjectName("widget_2")
      self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget_2)
      self.verticalLayout_2.setObjectName("verticalLayout_2")
      self.widget_3 = QtWidgets.QWidget(self.widget_2)
      self.widget_3.setStyleSheet("background-color: #556;")
      self.widget_3.setObjectName("widget_3")
      self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget_3)
      self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
      self.verticalLayout_3.setSpacing(0)
      self.verticalLayout_3.setObjectName("verticalLayout_3")
      self.widget_5 = QtWidgets.QWidget(self.widget_3)
      self.widget_5.setStyleSheet("background-color:white;")
      self.widget_5.setObjectName("widget_5")
      self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget_5)
      self.horizontalLayout_2.setObjectName("horizontalLayout_2")

      #TableWidget

      self.tableWidget = QtWidgets.QTableWidget(self.widget_5)
      sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
      sizePolicy.setHorizontalStretch(0)
      sizePolicy.setVerticalStretch(0)
      sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
      self.tableWidget.setSizePolicy(sizePolicy)
      self.tableWidget.setStyleSheet("background-color: #eee;")
      self.tableWidget.setObjectName("tableWidget")
      self.tableWidget.setColumnCount(2)
      self.tableWidget.setRowCount(total_rows)
      x = 0
      while x<total_rows:
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setVerticalHeaderItem(x, item)
      x+=1
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setHorizontalHeaderItem(0, item)
      item = QtWidgets.QTableWidgetItem()
      self.tableWidget.setHorizontalHeaderItem(1, item)
      self.horizontalLayout_2.addWidget(self.tableWidget)

      #CalendarWidget

      self.calendarWidget = QtWidgets.QCalendarWidget(self.widget_5)
      self.calendarWidget.setStyleSheet("color:black;")
      self.calendarWidget.setObjectName("calendarWidget")
      self.horizontalLayout_2.addWidget(self.calendarWidget)
      self.verticalLayout_3.addWidget(self.widget_5)
      self.widget_4 = QtWidgets.QWidget(self.widget_3)
      self.widget_4.setStyleSheet("background-color: white;")
      self.widget_4.setObjectName("widget_4")
      self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.widget_4)
      self.verticalLayout_5.setObjectName("verticalLayout_5")
      self.widget_8 = QtWidgets.QWidget(self.widget_4)
      self.widget_8.setObjectName("widget_8")
      self.verticalLayout_5.addWidget(self.widget_8)
      self.widget_9 = QtWidgets.QWidget(self.widget_4)
      self.widget_9.setObjectName("widget_9")
      self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget_9)
      self.horizontalLayout_6.setObjectName("horizontalLayout_6")
      spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_6.addItem(spacerItem1)

      #PushButton

      self.pushButton = QtWidgets.QPushButton(self.widget_9)
      self.pushButton.setStyleSheet("background-color: black;ncolor: white;")
      self.pushButton.setObjectName("pushButton")
      self.horizontalLayout_6.addWidget(self.pushButton)
      spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_6.addItem(spacerItem2)
      self.verticalLayout_5.addWidget(self.widget_9)
      self.verticalLayout_3.addWidget(self.widget_4)
      self.verticalLayout_2.addWidget(self.widget_3)
      self.verticalWidget = QtWidgets.QWidget(self.widget_2)
      self.verticalWidget.setStyleSheet("background-color: white;")
      self.verticalWidget.setObjectName("verticalWidget")
      self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalWidget)
      self.verticalLayout_4.setObjectName("verticalLayout_4")
      self.widget_7 = QtWidgets.QWidget(self.verticalWidget)
      self.widget_7.setObjectName("widget_7")
      self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.widget_7)
      self.horizontalLayout_4.setObjectName("horizontalLayout_4")

      #ListWidget

      self.listWidget = QtWidgets.QListWidget(self.widget_7)
      self.listWidget.setStyleSheet("background-color:#eee;")
      self.listWidget.setObjectName("listWidget")

      #Get files and insert into list widget

      files = os.listdir("files")
      for index, value in enumerate(files):
      item = QtWidgets.QListWidgetItem(value)
      self.listWidget.addItem(item)


      self.horizontalLayout_4.addWidget(self.listWidget)

      spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_4.addItem(spacerItem3)
      self.verticalLayout_4.addWidget(self.widget_7)
      self.widget_6 = QtWidgets.QWidget(self.verticalWidget)
      self.widget_6.setObjectName("widget_6")
      self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.widget_6)
      self.horizontalLayout_3.setObjectName("horizontalLayout_3")
      spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_3.addItem(spacerItem4)

      #PushButton2

      self.pushButton_2 = QtWidgets.QPushButton(self.widget_6)
      self.pushButton_2.setStyleSheet("background-color:black;ncolor:white;")
      self.pushButton_2.setObjectName("pushButton_2")
      self.horizontalLayout_3.addWidget(self.pushButton_2)

      spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
      self.horizontalLayout_3.addItem(spacerItem5)
      self.verticalLayout_4.addWidget(self.widget_6)
      self.verticalLayout_2.addWidget(self.verticalWidget)
      self.verticalLayout.addWidget(self.widget_2)
      MainWindow.setCentralWidget(self.centralwidget)

      self.retranslateUi(MainWindow)
      QtCore.QMetaObject.connectSlotsByName(MainWindow)

      def save_file(self):

      #Takvim değerini al
      current_date = self.calendarWidget.selectedDate()
      current_date_text = current_date.toPyDate().strftime("%d%b%y")

      #Table'daki değerleri al
      allRows = self.tableWidget.rowCount()

      #Pandas table için listeleri oluştur
      headers = []
      items = []
      for row in range(0,allRows):
      print(row)
      item = self.tableWidget.item(row,1).text()
      items.append(item)
      item = self.tableWidget.item(row,0).text()
      headers.append(item)

      #dataset oluştur
      data_set = list(zip(headers,items))

      #dataframe oluştur
      data_frame = pd.DataFrame(data = data_set)

      #csv dosyası oluştur
      data_frame.to_csv("files/" + current_date_text + ".csv", index = False)

      #listview güncelle
      files = os.listdir("files")
      print(files)
      for index, value in enumerate(files):
      item = QtWidgets.QListWidgetItem(value)
      self.listWidget.addItem(item)
      item = self.listWidget.item(index)
      item.setText(value)

      def open_file(self):
      #dosya ismini al
      selected_file = self.listWidget.currentItem().text()

      #csv dosyasını aç dataframe oluştur
      data_frame = pd.read_csv("files/" + selected_file)
      items = data_frame["0"].values.tolist()
      items = data_frame["1"].values.tolist()
      print(items)

      for row in range(0,total_rows):
      header = row
      item = self.tableWidget.setItem(0,row, QtWidgets.QTableWidgetItem(str(items[row])))

      def retranslateUi(self, MainWindow):
      _translate = QtCore.QCoreApplication.translate
      MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

      #Set TableWidget

      self.label.setText(_translate("MainWindow", "Defter"))
      item = self.tableWidget.horizontalHeaderItem(0)
      item.setText(_translate("MainWindow", "Isim"))
      item = self.tableWidget.horizontalHeaderItem(1)
      item.setText(_translate("MainWindow", "Miktar"))
      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(0,x, QtWidgets.QTableWidgetItem("0"))
      x+=1

      x = 0
      while x<total_rows:
      print(x)
      self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
      x+=1
      self.pushButton.setText(_translate("MainWindow", "Kaydet"))
      self.pushButton.clicked.connect(self.save_file)
      __sortingEnabled = self.listWidget.isSortingEnabled()
      self.listWidget.setSortingEnabled(False)
      files = os.listdir("files")
      for index, value in enumerate(files):
      item = self.listWidget.item(index)
      item.setText(value)
      self.listWidget.setSortingEnabled(__sortingEnabled)
      self.pushButton_2.setText(_translate("MainWindow", "Dosyayı aç"))
      self.pushButton_2.clicked.connect(self.open_file)


      if __name__ == "__main__":
      import sys
      app = QtWidgets.QApplication(sys.argv)
      MainWindow = QtWidgets.QMainWindow()
      ui = Ui_MainWindow()
      ui.setupUi(MainWindow)
      MainWindow.show()
      sys.exit(app.exec_())


      I put the print statements if my loops were just wrong. I checked and all loops run 20 times (As the x values reach 19 everytime).



      Edit: It seems like double-digits are the problem.But this syntax is surely true according to the documentation.



      self.tableWidget.setItem(1,10, QtWidgets.QTableWidgetItem("0"))






      python python-3.x pyqt5






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 23 at 18:45







      Elvez The Elf

















      asked Mar 23 at 17:55









      Elvez The ElfElvez The Elf

      408




      408






















          1 Answer
          1






          active

          oldest

          votes


















          0














          You changed rows with columns



          # ...
          x = 0
          while x < total_rows:
          # --- self.tableWidget.setItem(0, x, QtWidgets.QTableWidgetItem("0"))
          self.tableWidget.setItem(x, 0, QtWidgets.QTableWidgetItem("0")) # +++
          x += 1

          x = 0
          while x<total_rows:
          # --- self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
          self.tableWidget.setItem(x, 1, QtWidgets.QTableWidgetItem("0")) # +++
          x += 1

          # ...


          enter image description here






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55316733%2fcant-fill-some-cells-of-tablewidget-pyqt5%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            You changed rows with columns



            # ...
            x = 0
            while x < total_rows:
            # --- self.tableWidget.setItem(0, x, QtWidgets.QTableWidgetItem("0"))
            self.tableWidget.setItem(x, 0, QtWidgets.QTableWidgetItem("0")) # +++
            x += 1

            x = 0
            while x<total_rows:
            # --- self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
            self.tableWidget.setItem(x, 1, QtWidgets.QTableWidgetItem("0")) # +++
            x += 1

            # ...


            enter image description here






            share|improve this answer



























              0














              You changed rows with columns



              # ...
              x = 0
              while x < total_rows:
              # --- self.tableWidget.setItem(0, x, QtWidgets.QTableWidgetItem("0"))
              self.tableWidget.setItem(x, 0, QtWidgets.QTableWidgetItem("0")) # +++
              x += 1

              x = 0
              while x<total_rows:
              # --- self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
              self.tableWidget.setItem(x, 1, QtWidgets.QTableWidgetItem("0")) # +++
              x += 1

              # ...


              enter image description here






              share|improve this answer

























                0












                0








                0







                You changed rows with columns



                # ...
                x = 0
                while x < total_rows:
                # --- self.tableWidget.setItem(0, x, QtWidgets.QTableWidgetItem("0"))
                self.tableWidget.setItem(x, 0, QtWidgets.QTableWidgetItem("0")) # +++
                x += 1

                x = 0
                while x<total_rows:
                # --- self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
                self.tableWidget.setItem(x, 1, QtWidgets.QTableWidgetItem("0")) # +++
                x += 1

                # ...


                enter image description here






                share|improve this answer













                You changed rows with columns



                # ...
                x = 0
                while x < total_rows:
                # --- self.tableWidget.setItem(0, x, QtWidgets.QTableWidgetItem("0"))
                self.tableWidget.setItem(x, 0, QtWidgets.QTableWidgetItem("0")) # +++
                x += 1

                x = 0
                while x<total_rows:
                # --- self.tableWidget.setItem(1,x, QtWidgets.QTableWidgetItem("0"))
                self.tableWidget.setItem(x, 1, QtWidgets.QTableWidgetItem("0")) # +++
                x += 1

                # ...


                enter image description here







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 23 at 20:49









                S. NickS. Nick

                4,371268




                4,371268





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55316733%2fcant-fill-some-cells-of-tablewidget-pyqt5%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

                    용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

                    155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해