Python 熊猫:只出现最后一排

Python 熊猫:只出现最后一排,python,pandas,google-colaboratory,Python,Pandas,Google Colaboratory,虽然可以使用打印功能查看组织和管的定义,但熊猫中只显示管 from bs4 import BeautifulSoup as bs import re from requests import get import requests import numpy as np import pandas as pd def get_soup(url): soup = bs(requests.get(url).content, "html.parser") retu

虽然可以使用打印功能查看组织和管的定义,但熊猫中只显示管

from bs4 import BeautifulSoup as bs
import re
from requests import get
import requests
import numpy as np
import pandas as pd


def get_soup(url):
    soup = bs(requests.get(url).content, "html.parser")
    return soup.select("#MainTxt")[0].select('.ds-single')[0].text.strip()

def lookup(word):
    base_url  = "http://www.thefreedictionary.com/"
    query_url = base_url + word
    return get_soup(query_url)

Terms = ["Tissues", "tube"]

for i in Terms:
    m = lookup(i)
    r = print("Word:" + " " + i + " | " + m)
    data = {'Word':[i],'Definition':[m]}
    print("\n")
 
# Create DataFrame
df = pd.DataFrame(data)
df

您正在生成但未存储
数据的值,因此python不会保留以前生成的所有值(最后一个除外),为了克服这一问题,您可以将所有生成的值存储在列表中:

Terms = ["Tissues", "tube"]
data = []
for i in Terms:
    m = lookup(i)
    r = print("Word:" + " " + i + " | " + m)
    data.append({'Word':[i],'Definition':[m]})
    print("\n")

# Create DataFrame
df = pd.DataFrame(data)
print(df)

您正在生成但未存储
数据的值,因此python不会保留以前生成的所有值(最后一个除外),为了克服这一问题,您可以将所有生成的值存储在一个列表中:

Terms = ["Tissues", "tube"]
data = []
for i in Terms:
    m = lookup(i)
    r = print("Word:" + " " + i + " | " + m)
    data.append({'Word':[i],'Definition':[m]})
    print("\n")

# Create DataFrame
df = pd.DataFrame(data)
print(df)
在下面的行中

data={'Word':[i],'Definition':[m]}
您正在覆盖字典,即
数据
变量,因为您的dataframe只包含一行,您可以通过将相应的术语保留为字典的键,然后在其中附加值,为Word和Definition创建两个空列表

修改后的代码如下所示

data={'Word':[],'Definition':[]
就我而言:
m=查找(i)
r=打印(“字:“+”+i+“|”+m)
数据['Word'].追加(i)
数据['Definition'].追加(m)
打印(“\n”)
在下一行中

data={'Word':[i],'Definition':[m]}
您正在覆盖字典,即
数据
变量,因为您的dataframe只包含一行,您可以通过将相应的术语保留为字典的键,然后在其中附加值,为Word和Definition创建两个空列表

修改后的代码如下所示

data={'Word':[],'Definition':[]
就我而言:
m=查找(i)
r=打印(“字:“+”+i+“|”+m)
数据['Word'].追加(i)
数据['Definition'].追加(m)
打印(“\n”)

字典键是唯一的字典键是唯一的