在python中读写访问数据库表
Posted
技术标签:
【中文标题】在python中读写访问数据库表【英文标题】:Reading and writing access database table in python 【发布时间】:2016-09-06 18:27:43 【问题描述】:我有一个访问数据库。里面是我创建的几张桌子。我想使用 python 来读取其中一个表并列出一列中的所有内容。我想将该列表与我的程序中已经创建的另一个列表进行比较,如果该数字与列表中的一个匹配,则在我制作的访问电子表格的同一行新列中输出“是”。同样,如果该数字与列表中的数字不匹配,我想在数据库表上输出“NO”。
我已经从另一个 Excel 表中列出了我的列表。我现在需要从 Excel 表中读取文件。我不能使用模块“mysqldb”,因为它不允许我在我的电脑上下载。
所以我的问题是:
如何在excel表格中读写?我已经尝试了一整天,包括 MySQL 和其他堆栈溢出问题。它们都不符合我现在正在写的内容。谢谢。
【问题讨论】:
您的问题令人困惑。标题是(当前)“在 python 中读取和写入 access database 表”,但是在对您想要完成的任务进行模糊描述之后,您会问“我如何在 优秀?”。请阅读How to Ask,然后阅读edit 您的问题,以便更好地描述您真正询问的内容。 请澄清:1) 您的数据是存储在 Access 数据库 还是 Excel 电子表格 中? 2) 您希望将数据输出到哪里 - 到 Access 数据库 或 Excel 电子表格? 【参考方案1】:您可以将表格转换为 csv,以便您可以使用 excel 打开它
试试这个:
import csv
roomnumber = 0.00
roomname = 0.00
lueftungList = []
import time
class Lueftung:
def getData(self):
global roomnumber
global roomname
roomnumber = input("roomnumber: ")
roomname = input("roomname : ")
myFormattedList = [ '%.2f' % elem for elem in lueftungList ]
def main(self):
global roomnumber
global roomname
lueftungList.append(["", roomnumber, roomname, "", ""])
lueftungList.insert(0,[(time.strftime("%d.%m.%Y")), "roomnumber", "roomname",])
# convert to csv
with open("lueftung.csv", "w", newline="") as csvfile:
cwriter = csv.writer(csvfile, delimiter=";")
for row in lueftungList:
cwriter.writerow(row)
if __name__ == "__main__":
luft = Lueftung()
luft.main()
【讨论】:
以上是关于在python中读写访问数据库表的主要内容,如果未能解决你的问题,请参考以下文章
15-Hbase深入理解数据读写流程数据刷写合并切分和表设计原则