澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

【澳门新葡亰889.net】Python数据存储之MySQL,数据

来源:http://www.bhtsgq.com 作者:计算机知识 人气:108 发布时间:2019-05-18
摘要: Infi-chu: date: 2017-02-14 17:05:03 CSV是积攒表格数据常用的文件格式。 三个CSV文件的例证: 【澳门新葡亰889.net】Python数据存储之MySQL,数据存储之CSV。date: 2017-02-28 18:44:10 一个完好无损的(

 Infi-chu:

date: 2017-02-14 17:05:03

CSV是积攒表格数据常用的文件格式。
三个CSV文件的例证:

【澳门新葡亰889.net】Python数据存储之MySQL,数据存储之CSV。date: 2017-02-28 18:44:10

一个完好无损的(大)数据管理能够分成那多少个阶段:

fruit, cost
apple,1.00
banana,0.30
pear,1.25

上一篇有关Python和MySQL的简练联调做了学习。
这一次重大是将这一个历程再优化扩张点。
对教务处要求的多寡都开始展览了拍卖存进数据库了。
也是对bug难点的计算。

TXT文本存储

  • 数据搜聚
  • 数量存款和储蓄
  • 多少建立模型
  • 数据深入分析
  • 数码表现。

和python一样,CSV里留白也很重大。每一行都用二个换行符分隔,列与列之间用逗号分隔。CSV文件还能用Tab字符或其余字符分隔行,不过不多见,用的不多。

自身的编制程序历史学

实际上这在那之中从来有三个题指标。
前面是Holi的后台从来想要大家把多少存成CSV格式的她再读取存进数据库。
可是那件业务在Python那边就能够完结啊。

末端就依然用着如此的主见去做: 从CSV文件里读取存进MySQL。
最直白的法子应该是:一步到位直接存进MySQL。

不过本人照旧认为,先把这一个效率完结了才是最首要的。
别的的背后可以慢慢改。

那大致也便是Python的编制程序思想,注重于化解难题,而不是拘泥于语言语法。

TXT文本存款和储蓄,方便,简单,大致适用于别的平台。可是不便利检索。

Holi的连串进程,已经从入门到处理了。

python的csv库能够特别简单的修改csv文件,乃至从零伊始成立一个csv文件

图形化MySQL

有同学给自家引入了五款Navicat和SQLyog。
有别的2个队友也在用SQLyog,小编就选它了。
实在是比命令行好用多了。
也不轻松出难题。

在3个数据Curry建了学生新闻表,成绩表,课表,布告通报表,笔者的音讯表。
余下的难点不怕从CSV文件里读取并存进MySQL。

1.举例:

先是步的多寡采集中央已经完结。

import csv

csvFile = open(r"../files/test.csv", "w ")
try:
    writer = csv.writer(csvFile)
    writer.writerow(('num', 'number plus 2', 'number times 2'))
    for i in range(10):
        writer.writerow((i, i 2, i 2))
finally:
    csvFile.close()

CSV To MySQL

与上一篇同样,全部思路是先把爬下来的数码给写入col列,然后把爬下来的数额依行插入。

writer.writerow(('上课学期','课程编号','课程名称','课程学分','学位课' ,'成绩','获得学分','备注'))

insert的数据就和在SQLyog建好表相称。

sql = "insert into `score`(`term`,`course_id`,`name`,`credit`,`degree_course`,`score`,`gain_credit`,`remarks`)values(%s,%s,%s,%s,%s,%s,%s,%s)"

从前存进的CSV文件有空格的标题也消除了。
有函数strip()、rstrip()、lstrip()可以化解那些难点。

cursor.execute(sql, (
                    e['上课学期'].strip(), e['课程编号'].strip(),e['课程名称'].strip(), e['课程学分'].strip(), e['学位课'].strip(), e['成绩'].strip(),e['获得学分'].strip(), e['备注'].strip(),))

其实,规则的网页如故相比较好管理的。
而窘迫的网页管理起来还得多思量。tr、td、th、li标签分配的很意外。
例如说小编的音讯那1页面是那样处理的:

    try:
            for row in rows:
                csvRow = []
                for td in row.findAll('td')[1:]:
                    for li in td.findAll('li')[0::2]:
                        csvRow.append(li.get_text().strip().replace(' ', ''))
                    writer.writerow(csvRow)
        finally:
            csvFile.close()

它的网页源码第多少个td里面都以没用的,到背后的li标签乃至要取奇数,因为它只有多个,而第①个是空的。
一言以蔽之,花了点时间周到的存进去了。
也好不轻松体会到正则的庞大和自个儿还不会。

最后的几张表照旧很平整的。

学员消息:

澳门新葡亰889.net 1

课表:

澳门新葡亰889.net 2

成绩:

澳门新葡亰889.net 3

培养安插:

澳门新葡亰889.net 4

公告通报:

澳门新葡亰889.net 5

动用requests获得网页源代码,然后采取pyquery分析库深入分析

于今是第3步的数据存款和储蓄。

python新建文件的体制思量得特别周密。若是../files/test.csv不设有,python会自动创设文件。即使文件已经存在,python会用新的多寡覆盖文件。

bug总结

KeyError:

那是在把CSV文件存进MySQL里冒出的失实。
商量了许久把col列写对着啊,字典怎么会出错。
事实申明人变懒就能够出错。

模仿登入用的是同1个主次,在同2个主次的底子上改。
开辟的CSV文件却未曾改过来,字典必然不会对。。。低档错误。

blank error:

事先的Python前辈们都会把Python缩进当成3个梗来玩。
而是当程序多了4起,那就真正很轻松犯错。

除开这么些问题,在for循环里也很轻松出错。
它也没有刚强的标示,全凭以为。
就是本人感到它应有是缩进了啊,其实还差诸多。
自己感到自家供给一把游标卡尺来消除那个bug.

import requests
from pyquery import PyQuery as pq

url = 'https://www.zhihu.com/explore'
header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'
}
html = requests.get(url,headers=header).text
doc = pq(html)
items = doc('.explore-tab .feed-item').items()
for item in items:
    question = item.find('h2').text()
    author = item.find('.author-link-line').text()
    answer = pq(item.find('.content').html()).text()
    with open('test.txt','a',encoding='uft-8') as f:
        f.write('n'.join([author,question,answer]))
        f.write('n'.join('n' '='*50 'n'))

讲道理,不懂点前端知识还真糟糕动手。

互联网数据搜罗的二个常用成效是获得HTML表格并写入到csv文件。维基百科的公文编辑器比较词条中用了众多复杂的HTML表格,用到了颜色,链接,排序,以及其余在写入csv文件此前需求忽略的HTML成分。用BeautifulSoup和get_text()函数,能够轻易解决:

二.张开药方式:

观察一群标签也是很烦的,辛亏那么些东西就想剥球葱同样,一层一层剥开。

import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://en.wikipedia.org/wiki/Comparison_of_text_editors")
bsObj = BeautifulSoup(html)
# 主对比表格是当前页面上的第一个表格
table = bsObj.findAll("table", {"class": "wikitable"})[0]
rows = table.findAll("tr")

csvFile = open("../files/editors.csv", 'wt', newline="", encoding='utf-8')
writer = csv.writer(csvFile)
try:
    for row in rows:
        csvRow = []
        for cell in row.findAll(['td', 'th']):
            csvRow.append(cell.get_text())
            writer.writerow(csvRow)
finally:
    csvFile.close()

r

相称上《Alice梦游仙境》的BeautifulSoup,就有益多了。

rb

CSV( Comma-Separated Values,逗号分隔值)是积攒表格数据的常用文件格式。

r

Microsoft Excel 和广大施用都帮助 CSV 格式,因为它很简短。

rb

Python 的 csv 库能够特别轻松地修改 CSV 文件,乃至从零早先创设八个 CSV 文件:

本文由澳门新葡亰发布于计算机知识,转载请注明出处:【澳门新葡亰889.net】Python数据存储之MySQL,数据

关键词: 编程

最火资讯