2019-09-16 19:18:12 DNDXxzj 阅读数 393
  • Python-数据

    Python数据库编程视频教程,数据库是MySQL,讲解Python链接MySQL数据库,并对数据库进行增删改查操作。

    10909 人正在学习 去看看 尹成

导入数据

import numpy as np
data = np.genfromtxt(‘waveform.txt’,delimiter=’,’,skip_header=18)

**delimiter: the str used to separate data. 横纵坐标以 ‘,’ 分割,因此给 delimiter 传入 ‘,’。skip_header: ** the number of lines to skip at the beginning of the file. 有用数据是从19行开始的,因此给 skip_header 传入 18。

Matplotlib模块使用:
import matplotlib.pyplot as plt
plt.plot([0,1,2,3],[1,2,3,4])
plt.ylabel(‘some numbers’)
#axis接收的list参数表示:[xmin, xmax, ymin, ymax]
plt.axis([0, 6, 0, 20])#设置x、y轴的长度,x轴为[0,6],y轴为[0,20]
plt.show()

numpy模块使用:
import numpy as np

以0.2为间隔均匀采样

t = np.arange(0., 5., 0.2)

2015-09-11 20:31:56 u012556077 阅读数 1472
  • Python-数据

    Python数据库编程视频教程,数据库是MySQL,讲解Python链接MySQL数据库,并对数据库进行增删改查操作。

    10909 人正在学习 去看看 尹成
这篇文章主要介绍了Python导入txt数据到mysql的方法,涉及Python操作txt文件及mysql数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Python导入txt数据到mysql的方法。分享给大家供大家参考。具体分析如下:

从TXT文本转换数据到MYSQL数据库,接触一段时间python了 第一次写东西 用的是Python2.7

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/python
#coding=utf-8
import _mysql,sys,io
def addCity(prov,city,tel,post):
  try:
    conn=_mysql.connect("192.168.1.99",'php','php');
    conn.query("set names utf8");
    conn.query("insert into `domain`.`postcode`(Province,City,TelCode,
      PostCode)values('"+prov+"','"+city+"','"+tel+"','"+post+"')");
    result=conn.use_result();
    #print("version:%s" % result.fetch_row()[0])
    conn.close()
  except _mysql.Error,e:
    print("Error %d:%s" % (e.args[0],e.args[1]))
    sys.exit(1)
if __name__=="__main__":
  f = open("data.txt", "r")
  for line in f:
    content=line.split(",");
    print content[0],content[2]
    addCity(content[0],content[1],content[2],content[3]);
  f.close()

希望本文所述对大家的Python程序设计有所帮助。

2018-12-04 11:38:57 qq_40525252 阅读数 1324
  • Python-数据

    Python数据库编程视频教程,数据库是MySQL,讲解Python链接MySQL数据库,并对数据库进行增删改查操作。

    10909 人正在学习 去看看 尹成

1.导入TXT 数据

长度 宽度 高 类型
15 5 2 1
20 7 3 2
30 10 5 3
16 4 2 1
22 8 3 2
32 12 6 3
14 4 3 1
18 6 4 2
31 12 5 3

import numpy as np

def file2matrix(fileName):
    f = open(fileName)
    datasLines = f.readlines()
    print(datasLines)
    sizeDatas = len(datasLines)
    sizeColumnList = datasLines[0].split()
    sizeColumnNumber = len(sizeColumnList)
    datasZeros = np.zeros((sizeDatas - 1 , sizeColumnNumber - 1), int)
    labels = []
    index = 0
    for line in datasLines[1 : ]:
        line = line.split()
        datasZeros[index, :] = line[0 : sizeColumnNumber - 1]
        labels.append(int(line[-1]))
        index += 1
    datas = datasZeros
    labels = np.array(labels)
    return datas,labels

fileName = ("data_diy.txt")
datas,labels = file2matrix(fileName)
print(datas)
print(labels)

2.读取txt三种方式:

# read():读取至文件结束,返回字符串
f = open('email/spam/1.txt')
emailTxt = f.read()
print(emailTxt)
f.close
# --- Codeine 15mg -- 30 for $203.70 -- VISA Only!!! --
#
# -- Codeine (Methylmorphine) is a narcotic (opioid) pain reliever
# -- We have 15mg & 30mg pills -- 30/15mg for $203.70 - 60/15mg for $385.80 - 90/15mg for $562.50 -- VISA Only!!! ---

# readline():读取一行内容,返回字符串
f = open('email/spam/1.txt')
b = f.readline()
print(b)
f.close
# --- Codeine 15mg -- 30 for $203.70 -- VISA Only!!! --

# readlines():读取所有行,返回列表,每一行为一元素
f = open('email/spam/1.txt')
lines = f.readlines()
print(lines)
f.close
# ['--- Codeine 15mg -- 30 for $203.70 -- VISA Only!!! --\n', '\n', '-- Codeine (Methylmorphine) is a narcotic (opioid) pain reliever\n', '-- We have 15mg & 30mg pills -- 30/15mg for $203.70 - 60/15mg for $385.80 - 90/15mg for $562.50 -- VISA Only!!! ---']

 

2018-09-02 22:00:31 occamo 阅读数 3638
  • Python-数据

    Python数据库编程视频教程,数据库是MySQL,讲解Python链接MySQL数据库,并对数据库进行增删改查操作。

    10909 人正在学习 去看看 尹成

前言

数据的常见格式一般有:txt\csv\mat\Rdata,处理数据最常用的分析包是numpy和pandas,因此存储数据的常见的数据结构则是numpy中的ndarray和pandas中的seriesdataframe,这次总结了几种将txt数据导成ndrray type的方法。

数据分析包 数据结构
numpy ndarray
pandas series\dataframe

导入方法

0. 模块

数据分为两部分,描述(前3列)和标签(最后一列)。

from numpy import *
import numpy as np 
import pandas as pd

1. IO操作

def io2matrix(filename):
    f = open(filename)
    arrayOfLines = f.readlines() # 按行读存入
    numberOfLines = len(arrayOfLines) # 统计共n行
    returnMat = zeros((numberOfLines, 3)) # 定义一个n*3的二维矩阵
    classLabelVector = [] # 存放标签
    index = 0 # 按索引定位,对应n
    for line in arrayOfLines:
        line = line.strip() # 对每行数据去换首尾行符
        listFromLine = line.split('\t') # 整行数据分割为元素列表
        returnMat[index,:] = listFromLine[0:3] # 将分割好的列表赋值给返回矩阵对应行的每一列
        classLabelVector.append(int(listFromLine[-1])) # 同时将最后一列的标签添加到标签列表中
        index += 1
    print type(returnMat)
    return returnMat,classLabelVector 

知识点

  1. strip()
  2. line = line.split(‘\t’),这是常见的用法,要记得分割后重新赋值覆盖。
  3. returnMat[index,:] = listFromLine[0:3],矩阵、数组大小要对应
  4. classLabelVector.append(int(listFromLine[-1])),这是列表常见的[1]['1']区别,要明确通知解释器,列表中存储的是整型,才不会当作字符串处理。

2. numpy函数

 def loadmatrix(filename):
    returnMat = np.loadtxt(filename, delimiter='\t') # 导入数据
    returnLabel = returnMat[:,-1] # 存放标签
    returnMat = returnMat[:,0:3] # 存放数据
    print type(returnMat)
    return returnMat, returnLabel

知识点

  1. 使用loadtxt() 返回的就是ndarray类型的值。
  2. 先存标签,再覆盖。或者另外开辟空间存放。

3. pandas函数

这个方法最后测试还有一点问题,就是存在精度损失,还没有找到误差解决办法,后续再补。

-8.881784197e-16
-1.11022302463e-16
其中有两个数存在误差

def pd2matrix(filename):
    returnMat = pd.read_csv(filename, header=None, delimiter='\t')
    returnLabel = returnMat.iloc[:,-1].values
    returnMat = returnMat.iloc[:,0:3]
    print type(returnMat)
    return returnMat, returnLabel

知识点

  1. read_csv() 返回的是dataframe,要用iloc定位。
  2. array和dataframe的转换:

array->dataframe

df = pd.DataFrame(array)

dataframe->array

array = df.values # df.iloc[:,:].values
2018-12-21 16:40:00 larrybbb 阅读数 3283
  • Python-数据

    Python数据库编程视频教程,数据库是MySQL,讲解Python链接MySQL数据库,并对数据库进行增删改查操作。

    10909 人正在学习 去看看 尹成

1.将txt文件导入数据库中,文件中是包含管道的,例如
①unlocking device | 1102364
②your security software found malicious content in the email message | 1095329
③transfer protection mac | 1110528 | 1060983

第一步:读文件
第二步:连接数据库
第三步:将读到的内容进行处理之后插入到数据库
第四步:关闭数据库

附我执行正确的代码:

import pymysql
import json
def import_data(fn):
    # 读txt文件
    f = open(fn, 'r')
    m = f.readlines()

# 连接数据库,获取游标
con = pymysql.connect(host='10.206.131.83', port=3306, user='skyaiduser', password='skyaid8.6', db='skyaid_webservice', charset='utf8')
cur = con.cursor()

# 执行sql语句
for line in m:

    A = line.strip('\n').split('|')
    # print(A)  # 这是未去掉空格的列表

    A2 = []
    for a in A:
        b = a.strip(' ')
        A2.append(b)
    # print(A2)  # 这是去掉空格之后的列表

    s = {'kbids': A2[1:]}  # 转成字典
    # print(s)

    a_json = json.dumps(s)
    # print(a_json)  # 转成json字符串

    sql = "insert into support_search_keyword_pattern(keyword,kbid_array,create_date)values(\"%s\",'%s',now())"
    sql1 = sql % (A2[0], a_json)
    # print(sql1)

    cur.execute(sql1)
    con.commit()

cur.close()
con.close()

if __name__=='__main__':
    import_data('pattern_dataset.txt')

在此之前遇到的问题:①连接数据库时(最好以赋值形式)
②Sql语句执行完成能之后记得提交
③sql语句insert into …values…包含格式化字符串两个%s,此时要替换掉这两个%s,此时到value这整 个sql语句已经结束,所以在value之后加引号,不要把格式化字符串也加在引号里”
sql = “insert into …values(\“%s\”,’%s’,now()) ”
sql1=sql%(a2[0],a_json),注意这块。
格式化字符串还可以用另外的方法:
①format
sql = “insert into …values(\”{}\”,’{}’,now()) sql = sql.format (a2[0],a_json)

没有更多推荐了,返回首页