我正在使用方法 pandas.read_sql()从SQL检索表,该表也包含无效时间戳记的值(9999-12-30 23:00:00)。 但是,代码行引发错误 “越界时间戳:9999-12-30 23:00:00” 。
在这种情况下,如何处理时间戳?
我已经检查了pandas documentation的解决方案。但是,似乎没有相关的支持来配置时间戳解析器。
import pyodbc as pyo
import pandas as pd
db_conn = pyo.connect('DSN=MySQL Connection 3;',autocommit=True)
tbl_df = pd.read_sql('select * from orders',db_conn)
我希望要么解析包含无效时间戳的单元格,要么避免默认情况下解析时间戳。
答案 0 :(得分:0)
在0.20.3中,var data = [{
"team": "Colts",
"players": [{
"name": "Andrew Luck",
"position": "quarterback"
},
{
"name": "Quenton Nelson",
"position": "guard"
}
]
},
{
"team": "Patriots",
"players": [{
"name": "Tom Brady",
"position": "quarterback"
},
{
"name": "Shaq Mason",
"position": "guard"
}
]
}
]
let res = data.reduce((arr, {
team,
players
}) => arr.concat(players.map(obj => ({ ...obj,
team
}))), []);
// or
let res1 = data.reduce((arr, {
team,
players
}) => [...arr, ...players.map(obj => ({ ...obj,
team
}))], []);
// or
let res2 = data.reduce((arr, {
team,
players
}) => (arr.push(...players.map(obj => ({ ...obj,
team
}))), arr), []);
console.log(res, res1, res2)
具有pandas.read_sql()
因此,大熊猫正在解析数据库中的日期将是意外的。
将parse_dates : list or dict, default: None
移至select * from orders
并消除select col1, ..., datecol from orders
。会发生什么?
将datecol
更改为datecol
,以便您可以将数据作为非日期时间格式输入。从那里,您可以在Pandas中进行转换。