Пропустить заголовок в API CSV - PullRequest
0 голосов
/ 05 июля 2019

Я получу финансовую информацию от API alpha vantage и напишу ответ прямо в моей базе данных.

Отлично работает, но первая строка ответа CSV - заголовок.

Как я могу пропустить первый ряд?

Спасибо большое.

    #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.

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

другой способ выразить это - просто вызвать next на итераторе, то есть что-то вроде:

data_it = iter(data)
header = next(data_it)
for row in data_it:
     mycursor.execute(SQL_STATEMENT, row)
0 голосов
/ 05 июля 2019

Просто ничего не делать с первым рядом?

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)
...