scv文件写入数据库中

发布时间 2023-09-08 09:44:08作者: 吞金兽
import csv
import sqlite3
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/import-csv', methods=['POST'])
def import_csv():
csv_file = request.files['file'] # 从请求中获取CSV文件
db_file = r'D:\pythonProject\Practice\AccountChecking\conmon\tunjinshou.db' # 数据库路径

conn = sqlite3.connect(db_file)
cursor = conn.cursor()

cursor.execute('''
CREATE TABLE IF NOT EXISTS Alipay_bill (
Income_expenditure TEXT,
counterparty TEXT,
counterparty_account TEXT,
Product_Description TEXT,
Receipt_payment_method TEXT,
Amount FLOAT,
Transaction_Status TEXT,
transaction_classification TEXT,
Transaction_Order_number TEXT,
Merchant_order_number TEXT,
Trading_hours TEXT,
Type TEXT
)
''')

reader = csv.reader(csv_file.read().decode('gbk').splitlines())
next(reader) # 跳过标题行
for row in reader:
cursor.execute('''
INSERT INTO Alipay_bill (
Income_expenditure,
counterparty,
counterparty_account,
Product_Description,
Receipt_payment_method,
Amount,
Transaction_Status,
transaction_classification,
Transaction_Order_number,
Merchant_order_number,
Trading_hours,
Type
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
''', row)

conn.commit()
conn.close()

return jsonify(message="CSV file imported successfully")

if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)