跳过 api 中的 header csv
Skip header in api csv
我将从 alpha 优势中获取财务信息 API,并将答案直接写入我的数据库。
效果很好,但 CSV 答案的第一行是 header。
如何跳过第一行?
非常感谢。
#db-connection#
import mysql.connector
mydb = mysql.connector.connect(host="localhost",port="+++",user="+++",passwd="+++",database="++++")
mycursor = mydb.cursor()
#data#
from alpha_vantage.timeseries import TimeSeries
import csv
ts = TimeSeries(key='+++++', output_format='csv')
data, meta_data = ts.get_intraday(symbol='MSFT',interval='1min', outputsize='compact')
print(data)
#write data in db#
for row in data:
mycursor.execute('INSERT INTO import (date ,open, high, low, close, volume) Values (%s,%s,%s,%s,%s,%s)',row)
mydb.commit()
print("1 record inserted, ID:", mycursor.lastrowid)
mycursor.close()
mydb.close()
print("Connection Closed")
数据库中的第一行是 API / CSV 答案中的 header。
只是不要对第一行做任何事情?
for i, row in enumerate(data):
if i == 0:
continue
mycursor.execute('INSERT INTO import (date ,open, high, low, close, volume) Values (%s,%s,%s,%s,%s,%s)',row)
表达这一点的另一个习语是只调用迭代器上的 next
,即像这样的东西:
data_it = iter(data)
header = next(data_it)
for row in data_it:
mycursor.execute(SQL_STATEMENT, row)
我将从 alpha 优势中获取财务信息 API,并将答案直接写入我的数据库。
效果很好,但 CSV 答案的第一行是 header。
如何跳过第一行?
非常感谢。
#db-connection#
import mysql.connector
mydb = mysql.connector.connect(host="localhost",port="+++",user="+++",passwd="+++",database="++++")
mycursor = mydb.cursor()
#data#
from alpha_vantage.timeseries import TimeSeries
import csv
ts = TimeSeries(key='+++++', output_format='csv')
data, meta_data = ts.get_intraday(symbol='MSFT',interval='1min', outputsize='compact')
print(data)
#write data in db#
for row in data:
mycursor.execute('INSERT INTO import (date ,open, high, low, close, volume) Values (%s,%s,%s,%s,%s,%s)',row)
mydb.commit()
print("1 record inserted, ID:", mycursor.lastrowid)
mycursor.close()
mydb.close()
print("Connection Closed")
数据库中的第一行是 API / CSV 答案中的 header。
只是不要对第一行做任何事情?
for i, row in enumerate(data):
if i == 0:
continue
mycursor.execute('INSERT INTO import (date ,open, high, low, close, volume) Values (%s,%s,%s,%s,%s,%s)',row)
表达这一点的另一个习语是只调用迭代器上的 next
,即像这样的东西:
data_it = iter(data)
header = next(data_it)
for row in data_it:
mycursor.execute(SQL_STATEMENT, row)