2017-01-20 73 views
0

我在寫入csv文件時遇到問題。首先,代碼中的「列表」將返回一個列表,其中的用戶名有很多空白,並且不能正確顯示。其次,一旦我嘗試將它寫入csv文件,我會在Excel中的不同單元格中獲取用戶名的每個字符。寫入csv文件會在excel中導出錯誤

enter image description here

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.text) 
# for time in soup1.find_all('div',class_="thread-ago"): 
example = open('generalinfo.csv','w') 
wr = csv.writer(example,quoting = csv.QUOTE_ALL)   
wr.writerows(lists)  
example.close() 

回答

0

wr.writerows(lists)將字符串列表清單。在你的代碼片段中,它是一個字符串列表。每個字符串(作爲一個序列)都被隱式轉換爲一個字符列表,並且每個字符都寫入它自己的單元格中。下面是如何解決:

lists.append([username.text]) 
+0

謝謝!你碰巧知道如何避免在python列表中存在所有這些空白? – Data1234

0

writerows()需要列出清單,嘗試::

for username in soup1.find_all('div', class_="user-name"): 
    lists.append([username.text])