我是Python的初学者,我正在尝试从网络中提取数据并将其显示在表格中:
# import libraries
import urllib2
from bs4 import BeautifulSoup
import csv
from datetime import datetime
quote_page = 'http://www.bloomberg.com/quote/SPX:IND'
page = urllib2.urlopen(quote_page)
soup = BeautifulSoup(page, 'html.parser')
name_box = soup.find('h1', attrs={'class': 'name'})
name = name_box.text.strip()
print name
price_box = soup.find('div', attrs={'class':'price'})
price = price_box.text
print price
with open('index.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([name, price, datetime.now()])
这是一个非常基本的代码,可以从bloomberg中提取数据并将其显示在csv文件中。 它应该在列中显示名称,在另一列中显示价格,在第三个中显示日期。 但实际上它会复制第一行中的所有数据:Result of the index.csv file。
我错过了我的代码吗?
感谢您的帮助!
答案 0 :(得分:0)
在计算中,逗号分隔值(CSV)文件以纯文本形式存储表格数据(数字和文本)。该文件的每一行都是一个数据记录。每条记录由一个或多个字段组成,以逗号分隔。将逗号用作字段分隔符是此文件格式的名称的来源。
问题与您的Python代码无关!您的脚本实际上使用逗号分隔的字段编写纯文本文件。它是您的csv文件查看器,它不将逗号作为分隔符。您应该检查csv文件查看器的首选项。
答案 1 :(得分:0)