首页 > 解决方案 > 使用 python 和 pandas 将数据从 teradata 事务表解析到另一个表

问题描述

所以我是 Python 新手,我想做一些数据解析。我在 Teradata 中有一张包含数百万条记录的表。表的 1 列有交易描述,例如我们的银行对账单,例如(25/02 Amazon.com 购买),其他列有借方金额,例如(52)(让我们忘记货币,只关注数字),还有其他列我暂时不想考虑。我想创建另一个只有 2 列、商家名称和金额的表,它应该如下所示:

商户金额

Amazon    52
Amazon    96
Walmart   50

我可以一次解析单个商家的数据,但不能解析多个商家的数据,因为我有 100 多个不同的商家甚至更多

query= """select Merchant, Amt from Table1"""

df = pd.read_sql(query,conn)

for each in df:
    df1= each[each.Merchant.str.contains("AMAZON")]
    df1['Merchant']='AMAZON'
    total=df1.groupby(['Merchant'])
    print(total.head())
    break

df1.to_csv(r"Desktop\output1.CSV", index=False)

with open(r"Desktop\output1.CSV",'r')as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        insert = 'INSERT INTO Table2(Merchant,Amt) VALUES(?,?)'
        cursor.executemany(insert, row['Merchant'],row['Amt'])

标签: pythonpandascsvparsingteradata

解决方案


推荐阅读