2017-01-20 1 views
0

я должен экспортировать некоторые данные, чтобы преуспеть, но я хочу, чтобы экспортировать списки в в колонках на основе их категории (имя пользователя, время, тело, теги, inlink)Экспорт в Excel не будет правильно отображать данные

Что я здесь пропал, потому что я получаю все подряд.

lists =[] 
lists2=[] 
lists3=[] 
lists4=[] 
lists5=[] 
for i in range(0,33): 
    link = (df.link.iloc[i]) 
    source1 = urllib.request.urlopen(link).read() 
    soup1 = bs.BeautifulSoup(source1,'lxml') 
    for username in soup1.find_all('div', class_="user-name"): 
     lists.append([username.get_text().strip()]) 
    for time in soup1.find_all('div',class_="thread-ago"): 
     lists2.append([time.get_text().strip()]) 
    for body in soup1.find_all('div',class_="thread-body"): 
     lists3.append([body.get_text().strip()]) 
    for tags in soup1.find_all('div', class_="data-tag"): 
     lists4.append([tags.get_text().strip()]) 
    for inlink in soup1.find_all('a',class_="thread-detail"): 
     lists5.append([inlink.get('href')]) 

rows = zip(lists,lists2,lists3, lists4,lists5)   

example = open('generalinfo.csv','w') 
for column in rows: 
    wr = csv.writer(example,quoting = csv.QUOTE_ALL,delimiter = ",")   
    wr.writerows(column)  
example.close() 

ответ

0

Попробуйте

lists =[] 
lists2=[] 
lists3=[] 
lists4=[] 
lists5=[] 
for i in range(0,33): 
    link = (df.link.iloc[i]) 
    source1 = urllib.request.urlopen(link).read() 
    soup1 = bs.BeautifulSoup(source1,'lxml') 
    for username in soup1.find_all('div', class_="user-name"): 
     lists.append([username.get_text().strip()]) 
    for time in soup1.find_all('div',class_="thread-ago"): 
     lists2.append([time.get_text().strip()]) 
    for body in soup1.find_all('div',class_="thread-body"): 
     lists3.append([body.get_text().strip()]) 
    for tags in soup1.find_all('div', class_="data-tag"): 
     lists4.append([tags.get_text().strip()]) 
    for inlink in soup1.find_all('a',class_="thread-detail"): 
     lists5.append([inlink.get('href')]) 

rows = zip(lists,lists2,lists3, lists4,lists5) 
with open('generalinfo.csv','w') as csvfile: 
    wr = csv.writer(csvfile,quoting = csv.QUOTE_ALL,delimiter = ",") 
    for row in rows:    
     wr.writerows([row]) 
Смежные вопросы