Python 如何将每个循环数据分配给for循环中的多个列?

Python 如何将每个循环数据分配给for循环中的多个列?,python,python-3.x,for-loop,Python,Python 3.x,For Loop,我有一个csv文件,在一个名为“URL”的列下有5个URL。使用urllib,我将抓取每个URL的数据,并将数据拆分为单词,然后将其附加到空列表中,并使用该空列表创建dataframe。现在的问题是,从5个URL中刮取的所有数据都只在一列中,但我想将每个URL数据分配给每列。怎么做 import requests import urllib.request import pandas as pd url_list = pd.read_csv("/home/user/Desktop/website

我有一个csv文件,在一个名为“URL”的列下有5个URL。使用urllib,我将抓取每个URL的数据,并将数据拆分为单词,然后将其附加到空列表中,并使用该空列表创建dataframe。现在的问题是,从5个URL中刮取的所有数据都只在一列中,但我想将每个URL数据分配给每列。怎么做

import requests
import urllib.request
import pandas as pd
url_list = pd.read_csv("/home/user/Desktop/websites.csv")
urls = url_list['URLS']



def addhttp():

    empty=[]
    for url in urls:
    final_url = 'http://' + url
    try:
        html = urllib.request.urlopen(final_url).read().decode('utf-8')
        text = get_text(html)
        extracted_data = text.split()
        refined_data = []
        SYMBOLS = '{}()[].,:;+-*/&|<>=~0123456789'
        for i in extracted_data:
            if i not in SYMBOLS:
                refined_data.append(i)

        print("\n", "$" * 50, "HEYAAA we got arround: ", len(refined_data), " of keywords! Here are they: ",
              "$" * 50, "\n")
        empty.append(refined_data)


    except:
        pass

    df = pd.DataFrame(empty)
    df.to_csv('websitesdata.csv', index=False)


Original Output:

0
This
website
is
all
about
learning
python
-
-
-
-
not
serving
any
more
etc


Expected Output:

website:1  website:2  website:3    
This         This      This
website       is       website
is           another    not
all          website   serving
about        where      any
learning     you       more
python       can
             learn
             python
导入请求
导入urllib.request
作为pd进口熊猫
url\u list=pd.read\u csv(“/home/user/Desktop/websites.csv”)
url=url\u列表['url']
def addhttp():
空=[]
对于url中的url:
最终url='http://'+url
尝试:
html=urllib.request.urlopen(最终url.read().decode('utf-8'))
text=获取文本(html)
提取的数据=text.split()
优化的_数据=[]
符号='{}()[],:+-*/&|=~0123456789'
对于提取的_数据中的i:
如果我没有使用符号:
细化_数据追加(一)
打印(“\n”、“$”*50),“HEYAAA我们得到了:”,len(精炼的_数据),“的关键字!它们是:”,
“$”*50,“\n”)
empty.append(细化的_数据)
除:
通过
df=pd.DataFrame(空)
df.to_csv('websitesdata.csv',index=False)
原始输出:
0
这
网站
是
全部的
关于
学习
python
-
-
-
-
不
服务
任何
更多
等
预期产出:
网站:1网站:2网站:3
这个这个
网站就是网站
另一个不是
所有网站服务
哪里有
了解你更多
蟒蛇罐头
学习
python

您可以使用字典而不是列表来保存数据。 在这种情况下,局部的情况将是有用的

from collections import defaultdict
refined_data = defaultdict(list)
.
.
.
for url in urls:
.
.
.
    for i in extracted_data:
    .
    .
    .
        refined_data[url].append(i)
。 .


这应该会给你带来想要的结果

我没有得到确切的结果。你能再定义一下吗。我应该在函数内部或函数外部提到代码defined_data=defaultdict(list)列表应该包含什么?不要使用空的=[]使用defined_data,直到我只在一列中获取数据,但我想要多列。如果可能的话,你能纠正有问题的代码吗,因为我很困惑。