爬蟲資料導成csv及存入資料庫

2021-07-25 07:32:04 字數 1974 閱讀 6860

有時對於爬蟲得到的資料,需要對其進行整理,一是為了格式統一,二是用excel**也可以開啟。再就是把得到的資料放入資料庫都是需要的。

首先來看導成csv:

我認為最重要的一點是,如何把文字資料取出來放入類似二維陣列的字串組來儲存。關鍵就在於如何取。

可以觀察到這些資料以此的順序,因此:

with open('info.txt','r') as file:

while true:

line=file.readline()

if line=='':

break

if len(line.split('\r')[0])==1:

continue

print len(line.split('\n')[0])

# /r 和 /n 的區別?

count=0

for i in info:

print "測試",i

count=count+1

print "數量",count

data=[("1","2","3","4")]

for i in range(0,count,4):

str=(info[i],info[i+1],info[i+2],info[i+3])

定義乙個info=的列表,先來以此存放這些資料,用了split函式來從換行符進行分割。看到這些資料之間有兩個空行沒?在從print測試後發現這些行除去行符的len都為1,所以用if來判斷。然後看到data,這是乙個字串集的列表,每次新增的為乙個字串集,()專業術語:元組。

with open('infos.csv','w') as cwf:

spamwriter=csv.writer(cwf,dialect='excel')

for i in range((count/4)+1):

spamwriter.writerow(data[i])

關於csv,請看官方文件。這樣,就可以實現導成csv格式:

如果用excel開啟,可能有出現亂碼等問題,網上說是把csv用記事本開啟,另存為,編碼改為ansi,再用excel開啟就無亂碼了。

接著,把以上資料放入資料庫,我這裡使用的是postgres資料庫,圖形介面操作用的pgadmin

import psycopg2

conn = psycopg2.connect(database="hecarim", user="******", password="******xx", host="192.168.***.***",

port="5432")

cur=conn.cursor()

cur.execute("insert into workinfo (days,times,company,palce) values (%s,%s,%s,%s)",(info[i],info[i+1],info[i+2],info[i+3]))

conn.commit()

conn.close()

python在這裡面其實進行資料庫的連線和使用還是蠻簡單的,匯入psycopg2,然後就connect,最後,execute來進行功能的實現。

這種方式是簡單易懂的,資料庫表是在pgadmin裡面建立的。

所以我還想進一步會寫的是,在python裡面建立表,然後用

info=infomodel(***=***,yyy=yyy)

info.add()

上面這種方式來新增到資料庫。

CSV檔案匯入導mysql資料庫

基本語法 load data low priority local infile file name txt replace ignore into table tbl name character set gbk fields terminated by t optionally enclosed...

excel表資料存入資料庫

參考 實現 public string add httpservletrequest request,httpservletresponse response else if file.matches i xlsx sheet sheet workbook.getsheetat 0 sheet 從0...

資料庫互導

1 sqlserver與access互導 方法一 用sql語句 匯出到access insert into openrowset microsoft.jet.oledb.4.0 x a.mdb admin a表 select from 資料庫名.b表 匯入access insert into b表 ...