在python中写入excel csv的值

我有下面的代码,我试图写入Excel文件的值,但是我的输出在每一列中添加一个字母,而不是整个单词,像这样 在这里输入图像说明

我希望整个单词在一列中。 我正在传递一个数组,其中包含“ [u'Date / Time', u'City', u'State', u'Shape', u'Duration', u'Summary'] 。 我怎样才能做到这一点,以便我把整个单词放在一列中?

 import requests import csv from bs4 import BeautifulSoup r = requests.get('http://www.nuforc.org/webreports/ndxlAK.html') soup = BeautifulSoup(r.text, 'html.parser') csv.register_dialect('excel') f = open('ufo.csv', 'wb') writer = csv.writer(f) headers = soup.find_all('th') header_text = [] header_count = 1 for header in headers: if header_count == len(headers): print "value being written: " + str(header_text) writer.writerows(header_text) else: header_text.append(header.text) header_count += 1 f.close() 

您正在通过以下方式提取单个列的文本:

标题中的标题

对于每一列,你都要通过以下方式将其写成一行:

writer.writerows(HEADER_TEXT)

编写器方法需要写一列列表,所以它迭代它。 你已经传递了一个单一的string,所以它遍历它,并写每个字符一个字符。

所以:

 writer.writerows([header_text]) # turn this single column into a list # or writer.writerow(header_text) # just write out as a single item 

应该pipe用。