python - 使用 pandas 和 sqldf 没有这样的表错误

标签 python sql pandas dataframe sqldf

我收到 sqlite3 错误。

OperationalError: no such table: Bills

我首先使用 pandas 调用我的数据帧,然后在我的查询中调用那些工作正常的数据帧

import pandas as pd
from pandasql import sqldf

Bills = pd.read_csv("Bills.csv")
Accessorials = pd.read_csv("Accessorials.csv")

q = """
Select          
            CityStateLane, 
            Count(BillID) as BillsCount, 
            Sum(BilledAmount) as BillsSum, 
            Count(Distinct CarrierName) as NumberOfCarriers, 
            Avg(BilledAmount) as BillsAverage, 
            Avg(BilledWeight) as WeightAverage
From 
            Bills
Where 
            Direction = 'THIRD PARTY' 
Group by 
            CityStateLane
Order by 
            BillsCount DESC
"""

topCityStateLane = sqldf(q)

然后我使用另一个查询创建了另一个数据框,但这会调用错误提示 Bills 不存在,即使我在之前的查询中成功使用了它。

q = """
SELECT
         Bills.BillID as BillID,
         A2.TotalAcc as TotalAcc
FROM
            (SELECT
                    BillID_Value,
                    SUM(PaidAmount_Value) as "TotalAcc"
            FROM  
                    Accessorials 
            GROUP BY
                    BillID_Value 
            ) AS  A2,
            Bills 
WHERE    
            A2.BillID_Value  = Bills.BillID
 """
temp = sqldf(q)

感谢您花时间阅读本文。

最佳答案

您是否尝试将 Bills 与 A2 表连接起来?您不能在一个 select from 语句中从两个表中选择列。

q = """
SELECT
         Bills.BillID as BillID,
         A2.TotalAcc as TotalAcc
FROM
            (SELECT
                    BillID_Value,
                    SUM(PaidAmount_Value) as "TotalAcc"
            FROM  
                    Accessorials 
            GROUP BY
                    BillID_Value 
            ) AS  A2 
            join Bills 
            on A2.BillID_Value  = Bills.BillID
 """
temp = sqldf(q)

关于python - 使用 pandas 和 sqldf 没有这样的表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780443/

相关文章:

python - Pandas:旋转和绘图工作流程

python - 旧的 UnicodeEncodeError 打印结果来自使用 adodbapi 的 MS SQL 查询

sql - 分层查询 : from dual is ok, 但来自物理表的是 "ORA-01436"

python - 更改 DateTimeIndex 的日期

mysql - 简单的sql查询非常慢

php - 如何获取表2中没有的值

Python:如何根据不同的列获取值的总和

python - 无法停止项目源代码中的循环

python - 如何取消事件的 boto3 s3 file_download?

javascript - 下拉列表和 Selenium with Python