[英]Writing values to excel csv in python
我在下面的代码中尝试将值写入excel文件,但是我的输出在每一列中都添加了一个字母,而不是整个单词,就像这样
我希望整个词都放在一栏中。 我目前正在传递一个数组,该数组包含[u'Date / Time', u'City', u'State', u'Shape', u'Duration', u'Summary']
到我的writer
。 我如何做到这一点,以便将整个单词排成一列?
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)
writerows方法期望要写入的列列表,因此对其进行迭代。 您已经为它传递了一个字符串,因此对其进行了迭代,并在每列写入一个字符。
所以:
writer.writerows([header_text]) # turn this single column into a list
# or
writer.writerow(header_text) # just write out as a single item
应该管用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.