在。python3中将.csv导入.db

问题描述 投票:-1回答:1

如果你能帮我解决这个问题,我将不胜感激。我想使用Python将.csv(带有数据的5列)数据导入.db格式。我从这里拿了脚本:

import sqlite3
import csv
class csvrd(object):
    def csvFile(self):
        self.readFile('c:/users/quant/desktop/trade.csv')
    def readFile(self, filename):
        conn = sqlite3.connect('c:/users/quant/desktop/ledger_4.db')
        cur = conn.cursor() 
        cur.execute("""CREATE TABLE IF NOT EXISTS trading(date varchar,asset varchar,quant varchar,price varchar,com varchar)""")
        filename.encode('utf-8')
        print ("test1")
        with open(filename) as f:
            reader = csv.reader(f)
            for field in reader:
                cur.execute("INSERT INTO unicom VALUES (?,?,?,?,?);", field)
        conn.commit()
        conn.close()
c = csvrd().csvFile()

但不幸的是我得到了这个:

'charmap'编解码器无法解码位置62中的字节0x9d:字符映射到

您能告诉我代码有什么问题或者帮助我们导入csv吗?非常感谢你提前!

谢谢您的回复!来自csv的几行:

  • 日期资产定量价格com
  • 08.08.2017 11:35:49 Bashneft ao 3 2 188.00 2.63
  • 08.08.2017 11:35:49 Bashneft ao 3 2 188.00 2.63
  • 08.08.2017 11:35:49 Bashneft ao 2 2 188.00 1.75
python csv sqlite
1个回答
0
投票

根据Encoding Problem: Double Mis-Conversion或许您必须将文件读取为字节然后用0x9D替换0xC3然后解码它

© www.soinside.com 2019 - 2024. All rights reserved.