Javascript 我无法理解为什么处理格式参数失败;Python';列表';再一次
我一整天都在使用同一个代码,它一直在工作。出于某种原因,现在我正在做的新页面给了我****s一些小东西,但我不断地得到错误,无法处理格式参数;Python“列表” 我试着像以前一样把词源添加成一个单词,但这次没有用,我完全不知所措Javascript 我无法理解为什么处理格式参数失败;Python';列表';再一次,javascript,python,json,Javascript,Python,Json,我一整天都在使用同一个代码,它一直在工作。出于某种原因,现在我正在做的新页面给了我****s一些小东西,但我不断地得到错误,无法处理格式参数;Python“列表” 我试着像以前一样把词源添加成一个单词,但这次没有用,我完全不知所措 import urllib.parse import requests import mysql.connector import pandas as pd mydb = mysql.connector.connect( host="localhost",
import urllib.parse
import requests
import mysql.connector
import pandas as pd
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="******",
database="flightdata"
)
mycursor = mydb.cursor()
url = 'https://www.launcestonairport.com.au/airportfeed.json'
response_data = requests.get(url).json()
# empty list for holding all the data
data = []
for element in response_data['departures']:
origin = ["Launceston"]
flight_id = element['AirLineID']
airline = element['AirLineName']
destination = element['Route1']
flightNumbers = element['FlightID']
scheduledTime = element['Scheduled']
estimatedTime = element['Estimated']
scheduledDate = element['DateFormatted']
latestTime = element['Estimated']
status = element['Status']
gate = element['Gate']
print(origin, flight_id, flightNumbers, airline, destination,
scheduledTime, scheduledDate, latestTime, gate, status)
sql = "INSERT INTO flightinfo (origin, id, airline, destinations, flightNumbers, scheduledTime, estimatedTime, scheduledDate, latestTime, gate, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
val = (origin, flight_id, airline, " ".join(destination), ", ".join(flightNumbers), scheduledTime, estimatedTime,
scheduledDate, latestTime, status, gate)
data.append(val)
# doing a batch insert
mycursor.executemany(sql, data)
mydb.commit()
我会尝试从origin变量中删除[],因为您说它是一个列表(keephereonly origin=“Launceston”),它应该是字符串。查询尝试将列表(或数组)转换为字符串值,但在该值(imho)上遇到了阻碍 编辑:至少“status”,可能“gate”也是一个列表(尝试使用print(type(status))进行调试)。您需要显式地将is转换为字符串(str(status)、str(gate)…或在处理其他变量时使用join() EDIT2:您可以创建sanitize函数,根据需要处理空字符串和空列表。对于您的情况,这就足够了:
def sanitize(var):
if not var: # [] is None
return None
return str(var)
然后在变量的每个赋值中使用这个函数(例如status=sanitize(element['status'])…)并仔细检查是否没有其他值传递给'query'是一个列表。我想1是这里的json页面no@james这是一个不同的问题,请重新打开这个,另一个问题是另一个问题。我试图添加origin=str([“Launceston”]),但没有对所有变量做任何区别,“status”和“gate”也是列表。