ibis
import ibis
import pandas as pd
from ibis import _
import ibis.selectors as s
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
ibis.options.interactive = True
# con = ibis.duckdb.connect("/mnt/d/xg.db")
con = ibis.connect("duckdb:///mnt/d/duckdb.db")
# con.drop_table("XG")
con.list_tables()
table3=con.table("table3")
table4=con.table("table4")
table5=con.table("table5")
table6=con.table("table6")
(
table6
.group_by('YM_PH')
.aggregate(n=_.count())
)
(
table5
.filter(_.YM_PH.isnull())
.count()
)
table6.columns
table3.schema
table3=(
table3.drop('AAA')
)
table4=(
table4.drop('AAA')
)
table5=(table5.drop(['column00','AAA']))
table6=(table5.drop('column00','AAA'))
table=(table3.union(table4).union(table5).union(table6))
(
table
.count()
)
con.create_table('table',table)
print(table3.schema())
print(table4.schema())
print(table5.schema())
print(table6.schema())
print(ibis.__version__)
def load_excel(excel_path):
try:
# 读取Excel文件
df = pd.read_excel(excel_path)
# 将所有object类型的列转换为字符串
for col in df.select_dtypes(include=['object']).columns:
df[col] = df[col].astype(str)
# 转换为Ibis表格
ibis_table = ibis.memtable(df)
return ibis_table
except Exception as e:
print(f"错误: {str(e)}")
return None
jg = (
load_excel('/mnt/c/Users/xuefliang/Downloads/疫苗批号价格.xlsx')
.select(['疫苗批号','价格'])
.distinct()
)
table=(
table
.asof_join(jg,on=('YM_PH','疫苗批号'))
)
(
table
.filter('价格'==90)
.count()
)
(
table3
.filter('SCCJ_MC'=='02')
.count()
)
评论
发表评论