簡體   English   中英

熊貓從循環填充數據框

[英]Pandas populate dataframe from a loop

我需要創建一個空數據框來創建列,並使用SQL查詢結果在循環內填充該數據框。

我的查詢看起來:

from sqlalchemy import create_engine
from sqlalchemy.sql import text
import pandas as pd

engine = create_engine('connection')
script = 'select * from table  WHERE id=1111;'

query = text(script)
result = engine.execute(query)

rep = {"\\": "", "{": "","}":"",'"':"","attributes:":""}


def replace_all(text, dic):
    for i, j in dic.items():
        text = text.replace(i, j)
    return text    


df = pd.DataFrame()


for i in result:
    clean = replace_all(i[3],rep)
    field = clean.split(',')
    for item in field:
        info = item.split(":")
        df[info[0]] = info[1]

print(df)

當我打印時,我看到創建的列,但是里面為什么有數據?

空的DataFrame列:[customer_id,from_country,......]索引:[]

[0行x 63列]

您不會在任何階段將新數據附加到數據框。

您可以通過構建字典在其上添加一行

d = {info[0]:info[1]}
df = df.append(d, ignore_index=True)

其中info [0]是您的列名,而info [1]是該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM