擅长:python、mysql、java
<p>通过将pandas与sqlite3相结合,我终于找到了解决方案</p>
<p>我知道我想对数据进行的连接是交叉连接,因为没有可以合并表的公共列。因此,我决定将我的CSV导入SQLITE3DB并执行交叉连接。与pandas提供的方法相比,sqlite3具有更好的执行交叉连接的方法</p>
<pre><code>conn = sqlite3.connect("./data/output/library.db")
session.to_sql('session', conn, index=False, if_exists='replace' )
tarrif.to_sql('tarrif', conn, index=False, if_exists='replace')
qry = '''
select s.id, s.energy, s.minutes,t.energy_fee, t.parking_fee
from session s join tarrif t
WHERE (s.dt_start between t.dt_start and t.dt_end)
and (s.dt_end between t.dt_start and t.dt_end)'''
df = pd.read_sql_query(qry, conn)
</code></pre>