爬取数据的存储,将爬取的数据存储为csv文件,python从csv读取数据
Python内置了csv模块,可以直接用来读写csv文件。在web应用程序中导出数据是一种常见的操作。下面这篇文章主要介绍Python数据分析的一些信息,Python数据分析将抓取的数据保存为CSV格式。有需要的可以参考一下。
目录
csv文件python的csv模块从csv文件中读取内容并写入csv文件。使用示例数据,准备以字典的形式存储数据,并将其存储在csv文件中进行汇总。
csv文件
通过逗号分段存储表格数据的文本文件。
python的csv模块
Python遍历代码:
arr=[12,5,33,4,1]
#遍历输出1
对于范围(0,len(arr)):内的I
项目=排列[i]
打印(项目)
#遍历输出2
对于arr:中的项目
打印(项目)
#遍历输出3
String_arr=[hi , hello , hello , aloha]
对于string_arr:中的项目
打印(“此周期中项目变量的值”,项目)
从csv文件读取内容
使用DictReader对象的创建方法和filenames属性获取csv表的表头。
导入csv
#打开csv
fo=open(info.csv )
#打开csv文件的file对象作为参数创建dictreader类的对象,存储在reader变量中。
读者=csv。字典阅读器
#调用reader对象的filednames属性获取csv文件表的开头。
headers=reader.fieldnames
#关闭文件
fo.close()
#打印
打印(标题)
获取表单的实际内容。
fo=open(info.csv )
读者=csv。字典阅读器
#创建一个列表来存储读取的行
row_list=[]
#遍历
对于reader:中的行
row_list.append(row)
fo.close()
#打印
print(row_list[0])
#遍历行列表
对于row_list:中的d
#d是字典,把键打印出来作为年龄值就行了。
打印(d[年龄])
#打印
写入csv文件
Python提供了DictWriter方法,可以将表格数据以字典的形式存储在csv文件中。
导入csv
#打开一个文件,假设是info.csv,写成w。
#newline=“”,需要在写的时候指定。
fo=open(info2.csv , w ,newline= )
#将标题存储在列表中
Header=[姓名,年龄,部门]
#创建一个DictWriter对象,第二个参数是上面创建的头。
作家=csv。字典编写器(fo,header)
writer.writeheader()
#写一行记录,以字典的形式,关键需要对应表头。
Writer.writerow({ 姓名 3360 小明,年龄 3360 28 ,部门 3360 行政部 })
#关闭文件
fo.close()
运行后,相应的文件夹下会出现相应的csv文件。
您也可以使用writer.writerows(row_list)来写入多个。
运用实例
数据准备
1.打开网页,阅读内容,创建相应的BeautifulSoup对象。
2.查找包含新闻的div元素列表。
3.从2中提取标题。
4.从2中提取时间。
来自b
s4 import BeautifulSoup
def create_doc_from_filename(filename):
fo = open(filename, "r", encoding=utf-8)
html_content = fo.read()
fo.close
doc = BeautifulSoup(html_content)
return doc
(记得要pip install bs4)
#输入参数是BeautifulSoup对象,返回包含新闻的div元素列表def find_index_labels(doc):
index_labels = doc.find_all("div", class_ = "indexs")
return index_labels
#实现新闻标题的抽取函数def get_title(label_object):
#从刚才的参数传入的标签对象中过滤出所有的target = _blank的a标签
a_labels = label_object.find_all("a", target = "_blank")
#取得第一个标签对象
my_label = a_labels[0]
#将标签的文字内容作为返回值返回
return my_label.get_text()
#实现获取新闻发布时间的函数def get_pub_time(label_object):
#找到class = comment-link的span标签
spans = label_object.find_all("span", class_ = "comment-link")
#取第一个
span = spans[0]
#返回标题属性
return span["title"]
#获取新闻标题与列表#调用create_doc_from_filename函数
doc = create_doc_from_filename("jiandan.html")
#传入BeautifulSoup对象,将返回的div列表存储在index_labels中
index_labels = find_index_labels(doc)
for label_object in index_labels:
title = get_title(label_object)
pub_time = get_pub_time(label_object)
print("标题", title)
print("发布时间", pub_time)
将数据存为字典的形式
#获取新闻标题与列表#调用create_doc_from_filename函数
doc = create_doc_from_filename("jiandan.html")
#传入BeautifulSoup对象,将返回的div列表存储在index_labels中
index_labels = find_index_labels(doc)
news_dict_list = []
for label_object in index_labels:
title = get_title(label_object)
pub_time = get_pub_time(label_object)
news = {"标题": title, "发布时间": pub_time}
news_dict_list.append(news)
print(news_dict_list)
存储到csv文件
#创建csvfo = open("news.csv", "w", newline=, encoding=utf-8)
#表头
header = ["标题", "发布时间"]
writer = csv.DictWriter(fo, header)
#写入表头
writer.writeheader()
#将上一步的字典写入csv文件中
writer.writerows(news_dict_list)
fo.close()
总结
到此这篇关于python数据分析之将爬取的数据保存为csv格式的文章就介绍到这了,更多相关python爬取数据保存csv格式内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。