python爬虫之深度解析(盘点一个Python网络爬虫实战问题)
python爬虫之深度解析(盘点一个Python网络爬虫实战问题)2)CSV文件存储# !/usr/bin/env python # -*- coding:utf-8 -*- # @FileName :test.py # @Time :2021/9/19 21:34 # @Author :Cat import random xing = ['赵' '钱' '孙' '李' '周' '吴' '郑' '王' '冯' '陈' '褚' '卫' '蒋' '沈' '韩' '杨' '朱' '秦' '尤' '许' '何&
作者:Python进阶者
来源:Python爬虫与数据挖掘
前言前几天一道关于大学生Python题目的问题,如下图所示。
初步一看,还是觉得有点难的,对于刚学完基础的小伙伴来说,这个小项目还是有点难度,这个题目主要考察的是random库、列表、字典、open文件操作等基础操作,运用实际生活中的例子,确实是一个练手的好题目。
一、思路其实问题的关键点就是在于构造姓名,学号和成绩,之后以字典的形式进行写入文件。这里准备两个列表,一个姓,一个名,之后使用random库进行随机字符串拼接,得到姓名。
二、解决方法1)TXT文件存储
直接上代码,如下所示:
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :test.py
# @Time :2021/9/19 21:34
# @Author :Cat
import random
xing = ['赵' '钱' '孙' '李' '周' '吴' '郑' '王'
'冯' '陈' '褚' '卫' '蒋' '沈' '韩' '杨'
'朱' '秦' '尤' '许' '何' '吕' '施' '张'
'孔' '曹' '严' '华' '金' '魏' '陶' '姜'
'戚' '谢' '邹' '喻' '柏' '水' '窦' '章'
'云' '苏' '潘' '葛' '奚' '范' '彭' '郎'
'鲁' '韦' '昌' '马' '苗' '凤' '花' '方'
'俞' '任' '袁' '柳' '酆' '鲍' '史' '唐'
'费' '廉' '岑' '薛' '雷' '贺' '倪' '汤'
'滕' '殷' '罗' '毕' '郝' '邬' '安' '常'
'乐' '于' '时' '傅' '皮' '卞' '齐' '康'
'伍' '余' '元' '卜' '顾' '孟' '平' '黄'
'和' '穆' '萧' '尹' '姚' '邵' '湛' '汪'
'祁' '毛' '禹' '狄' '米' '贝' '明' '臧'
'计' '伏' '成' '戴' '谈' '宋' '茅' '庞'
'熊' '纪' '舒' '屈' '项' '祝' '董' '梁' ]
ming = [
'凡' '佳' '勤' '珍' '贞' '鸿' '焕' '风' '朗'
'浩' '亮' '政' '谦' '振' '壮' '伟' '刚' '勇' '毅' '俊' '峰' '强' '军' '平' '保' '东' '文' '辉' '力' '固' '之' '段' '殿' '泰'
'利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成' '康' '星' '翰' '诚' '博' '先' '敬'
'若' '鸣' '朋' '斌' '梁' '栋' '维' '启' '克' '伦' '翔' '旭' '鹏' '泽' '朗' '伯' '彪' '晋' '晟'
'诚' '先' '敬' '震' '振' '壮' '会' '思' '群' '豪' '心' '邦' '承' '乐' '宏' '言' '旲' '旻' '昊'
'光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和' '彪' '博' '泰' '盛' '振' '挺' '掣'
'明' '永' '健' '世' '广' '志' '义' '兴' '良' '海' '山' '仁' '波' '宁' '行' '时' '志' '忠' '思'
'绍' '功' '松' '善' '厚' '庆' '磊' '民' '友' '裕' '河' '哲' '江' '超' '炎' '德' '彰' '征' '律'
'晨' '辰' '士' '以' '建' '家' '致' '煜' '煊' '炎' '波' '宁' '贵' '福' '生' '龙' '元' '全' '国'
'胜' '学' '祥' '才' '发' '武' '新' '利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成'
'康' '星' '光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和'
]
with open('students.txt' 'a' encoding='utf-8') as f:
for i in range(9):
item = {}
item['姓名'] = random.choice(xing) random.choice(ming)
item['学号'] = str(2020010001 i)
item['成绩'] = random.randint(0 100)
f.write(str(item))
f.write('\n')
运行之后,得到的结果如下所示:
2)CSV文件存储
代码如下所示:
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :test_csv.py
# @Time :2021/9/26 21:01
# @Author :Cat
import random
import csv
headers = ['姓名' '学号' '成绩']
xing = ['赵' '钱' '孙' '李' '周' '吴' '郑' '王'
'冯' '陈' '褚' '卫' '蒋' '沈' '韩' '杨'
'朱' '秦' '尤' '许' '何' '吕' '施' '张'
'孔' '曹' '严' '华' '金' '魏' '陶' '姜'
'戚' '谢' '邹' '喻' '柏' '水' '窦' '章'
'云' '苏' '潘' '葛' '奚' '范' '彭' '郎'
'鲁' '韦' '昌' '马' '苗' '凤' '花' '方'
'俞' '任' '袁' '柳' '酆' '鲍' '史' '唐'
'费' '廉' '岑' '薛' '雷' '贺' '倪' '汤'
'滕' '殷' '罗' '毕' '郝' '邬' '安' '常'
'乐' '于' '时' '傅' '皮' '卞' '齐' '康'
'伍' '余' '元' '卜' '顾' '孟' '平' '黄'
'和' '穆' '萧' '尹' '姚' '邵' '湛' '汪'
'祁' '毛' '禹' '狄' '米' '贝' '明' '臧'
'计' '伏' '成' '戴' '谈' '宋' '茅' '庞'
'熊' '纪' '舒' '屈' '项' '祝' '董' '梁' ]
ming = [
'凡' '佳' '勤' '珍' '贞' '鸿' '焕' '风' '朗'
'浩' '亮' '政' '谦' '振' '壮' '伟' '刚' '勇' '毅' '俊' '峰' '强' '军' '平' '保' '东' '文' '辉' '力' '固' '之' '段' '殿' '泰'
'利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成' '康' '星' '翰' '诚' '博' '先' '敬'
'若' '鸣' '朋' '斌' '梁' '栋' '维' '启' '克' '伦' '翔' '旭' '鹏' '泽' '朗' '伯' '彪' '晋' '晟'
'诚' '先' '敬' '震' '振' '壮' '会' '思' '群' '豪' '心' '邦' '承' '乐' '宏' '言' '旲' '旻' '昊'
'光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和' '彪' '博' '泰' '盛' '振' '挺' '掣'
'明' '永' '健' '世' '广' '志' '义' '兴' '良' '海' '山' '仁' '波' '宁' '行' '时' '志' '忠' '思'
'绍' '功' '松' '善' '厚' '庆' '磊' '民' '友' '裕' '河' '哲' '江' '超' '炎' '德' '彰' '征' '律'
'晨' '辰' '士' '以' '建' '家' '致' '煜' '煊' '炎' '波' '宁' '贵' '福' '生' '龙' '元' '全' '国'
'胜' '学' '祥' '才' '发' '武' '新' '利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成'
'康' '星' '光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和'
]
with open('students.csv' 'a' encoding='utf-8' newline='') as f:
csv_writer = csv.DictWriter(f headers)
csv_writer.writeheader()
for i in range(9):
item = {}
item['姓名'] = random.choice(xing) random.choice(ming)
item['学号'] = str(2020010001 i)
item['成绩'] = random.randint(0 100)
csv_writer.writerow(item)
运行之后,得到的结果如下所示:
每次运行程序之后,得到的txt和csv文件中的内容都是随机获取的,完成需求。
三、总结本文基于粉丝提问,完成了一道Python基础实战题目,主要涉及的知识点是random库、列表、字典、文件读取等知识。这个题目倒不是很难,解题方法肯定还有很多种,还有可以把名字随机变成三个字等。欢迎大家积极尝试,有好方法记得也分享给我学习下噢!