Python - 导入CSV文件并将其保存到Database SQLAlchemy中

时间:2016-04-19 19:43:54

标签: python mysql csv

我有一个将CSV文件导入数据库的问题... 我在Python中使用SQLAlchemy并想打开一个CSV文件,而不是在QTableWidget中显示它,可能会更改值并将其写入DB(新表)。

def setinTable(self):

    colcnt = len(self.title)
    rowcnt = len(self.data)
    self.tabel_model = QtGui.QTableWidget(rowcnt, colcnt)
    vheader = QtGui.QHeaderView(QtCore.Qt.Orientation.Vertical)
    self.tabel_model.setVerticalHeader(vheader)
    hheader = QtGui.QHeaderView(QtCore.Qt.Orientation.Horizontal)
    self.tabel_model.setHorizontalHeader(hheader)
    self.tabel_model.setHorizontalHeaderLabels(self.title)
    for i in range(rowcnt):
        for j in range(len(self.data[0])):
            item = QtGui.QTableWidgetItem(str(self.data[i][j]))
            self.tabel_model.setItem(i, j, item)
    self.tabel_model.horizontalHeader().sectionDoubleClicked.connect(self.changeHorizontalHeader)
    self.setCentralWidget(self.tabel_model)

获取CSV数据

def getdata(filepath):
    with open(filepath, 'r') as csvfile:
        sample = csvfile.read(1024)
        dialect = csv.Sniffer().sniff(sample, [';',',','|'])
        csvfile.seek(0)

        reader = csv.reader(csvfile,dialect=dialect)
        header = next(reader)
        lines = []
        for line in reader:
            lines.append(line)
        return lines

在QTableWidget中读取和显示CSV文件数据正在运行..但我不知道如何将其保存到MySQL数据库

1 个答案:

答案 0 :(得分:0)

为了更简单地将csv加载到数据库表中,请查看“odo”#od;' python项目 - https://pypi.python.org/pypi/odo/0.3.2

-

要通过SQL Alchemy使用表,一种方法是使用session并调用"更新":

myRow = myTable(
          column_a = 'foo',
          column_b = 'bar')

myRow.column_c = 1 + 2

mySession.update(myRow)