试图将数据插入数据库,但出现以下错误:KeyError:';标识符';(Python)

试图将数据插入数据库,但出现以下错误:KeyError:';标识符';(Python),python,csv,python-requests,Python,Csv,Python Requests,我想要完成的是从API端点抓取数据并将其存储为CSV。然后将CSV文件导入SQLite数据库。我可以从API中获取数据,并输出到CSV文件中。但是将CSV文件中的数据存储到SQLite是一个问题。我不断地发现这个错误: Traceback (most recent call last): File "info.py", line 46, in <module> i['col1'], i['col2'], i['col3'], i['col4'], i['c

我想要完成的是从API端点抓取数据并将其存储为CSV。然后将CSV文件导入SQLite数据库。我可以从API中获取数据,并输出到CSV文件中。但是将CSV文件中的数据存储到SQLite是一个问题。我不断地发现这个错误:

Traceback (most recent call last):
   File "info.py", line 46, in <module>
     i['col1'], i['col2'], i['col3'], 
     i['col4'], i['col5']) for i in dr]
   File "info.py", line 46, in <listcomp>
     i['col1'], i['col2'], i['col3'], 
     i['col4'], i['col5']) for i in dr]
KeyError: 'col1'

此命令的输出(
print(next(dr))
):


csv文件中的分隔符为“
”;”而不是默认的
,'
。因此它将整行作为一个条目读取,因为它试图在不存在的逗号处拆分它


在dicts
dr
数组中使用
dr=csv.DictReader(fin,delimiter=';')

,您没有标识符键。准确地说,您的csv可能没有标识符column@ArpitSolanki标识符列存在..但它没有“标识符”。它输出时不带->“”仅如下。。identifierafter
dr=csv.DictReader(fin)
,如果你插入一行
print(next(dr))
,它会打印出什么?另外,如果你刚刚读了文件,第一行的内容是什么?@e.s.我会在上面输出它,因为行太长了xD我想给你一个大大的拥抱和亲吻=D不,如果你有时间,我们可以在私人聊天室聊天吗?还有一些问题我想问你。再一次,没有人,呵呵
import requests
import csv
import sqlite3


con = sqlite3.connect("business.db")
cur = con.cursor()

cur.execute('DROP TABLE IF EXISTS firms')

cur.execute(
 "CREATE TABLE firms (col1 PRIMARY KEY, col2 TEXT, col3 TEXT, "
 "col4 TEXT, col5 TEXT,...);"
 )

r = requests.get('http://url/url/url')

outfile = open(r"C:\Users\...\test.csv", "w")
outfile.write(r.text)


with open(r'C:\Users\...\...\test.csv', 'r') as fin: 
dr = csv.DictReader(fin) 
to_db = [(i['col1'], i['col2'], i['col3'], i['col4'], i['col5'], ...) for i in dr]


cur.executemany("INSERT INTO firms (col1, col2, col3, col4, col5,  "...) VALUES (?, ?, ?, ?, ?, "
                "...);", to_db)
con.commit()
con.close()
OrderedDict([('col1;"col2";"col3";"col4";"col5";"..."', 'value1;"value2";                                                     
"value3";"value4";"value5";"..."')])