繁体   English   中英

使用csv文件创建一个临时表

[英]create a temporary TABLE using a csv file

在python中,我想:

  1. 从用户获取文件名到CSV文件
  2. 将CSV转换为临时表
  3. 对中央数据库运行用户定义的查询,以将数据添加到表中
  4. 输出到新的csv供用户使用。

我可以处理其中的大多数步骤,但有些事情我还是不了解。

是否可以使用sqlite脚本? python sqlite类可以执行该脚本吗?

conn = sqlite3.connect(central_database, check_same_thread=False)
cur = self.conn.cursor()

#user defines csv file and other params via http form -> script

cur.execute(script)
csv = cur.fetchall()

我可能会想这一切都错了。 所以这是我的设置:

  1. python 3.6.3
  2. flask / jinja2(支持JavaScript)
  3. sqlite 3.22.0

尚未测试,但是您可以尝试以下方法:

conn = sqlite3.connect(central_database, check_same_thread=False)
cur = self.conn.cursor()

# Create table using first row of csv (column names)

#user defines csv file and other params via http form -> script
with open ('test.csv', 'r') as f:
    reader = csv.reader(f)
    columns = next(reader) 
    query = 'insert into MyTable({0}) values ({1})'
    query = query.format(','.join(columns), ','.join('?' * len(columns)))
    for data in reader:
        cur.execute(query, data)
    cur.commit()

cur.execute(script)
csv = cur.fetchall()

# Delete table 

来源: 使用python将csv文件写入SQL Server数据库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM