繁体   English   中英

在python中将值写入Excel csv

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM