文件存儲

1.TXT文本存儲html

  將數據保存到TXT文本的操做很是簡單,並且TXT文本幾乎兼容任何平臺,可是有個缺點就是不利於檢索,因此若是對檢索和數據結構要求不高,追求方便第一的話,能夠 採用TXT文本存儲。json

基本實例數組

  首先能夠用Requests將網頁源代碼獲取下來,而後使用PyQuery解析庫進行解析,接下來將提取的標題、回答者、回答保存到文本。數據結構

import requests
from pyquery import PyQuery as pq

url = 'https://www.zhihu.com/explore'
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html = requests.get(url, headers=headers).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()
    file = open('explore.txt', 'a', encoding='utf-8')
    file.write('\n'.join([question, author, answer]))
    file.write('\n' + '=' * 50 + '\n')
    file.close()

  首先用Requests提取了知乎發現頁面,而後將熱門的問題、回答者、答案全文提取出來,而後利用了Python提供的open()方法打開一個文件,獲取文件操做對象,而後利用對象的write方法將提取的內容寫入文件,最後調用close方法將其關閉,這樣抓取的內容便可成功寫入文本中。編碼

2.Json文件存儲url

  Json,全稱爲 JavaScript Object Notation, 也就是 JavaScript 對象標記,經過對象和數組的組合來表示數據,構造簡潔可是結構化程度很是高,它是一種輕量級的數據交換格式,本節咱們來了解一下利用 Python 保存數據到 Json 文件的方法。spa

 讀取Json:code

 

import json
str = '''
[{
    "name": "Bob",
    "gender": "male",
    "birthday": "1992-10-18"
},{
    "name": "Selina",
    "gender": "female",
    "birthday": "1995-10-18"
}]
'''
print(type(str))
data = json.loads(str)
print(data)
print(type(data))

 

輸出Json:htm

import json
data = [{
    "name": "Bob",
    "gender": "male",
    "birthday": "1992-10-18"
}, {
    "name": "王銀濱",
    "gender": "",
    "birthday": "1997-01-01"
}]
with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data, indent=2, ensure_ascii=False))

參數indent表明縮進字符個數;ensure_ascii爲False,表示另外規定文件輸出的編碼。對象

3.CSV文件存儲

  CSV,全稱叫作 Comma-Separated Values,中文能夠叫作逗號分隔值或字符分隔值,其文件以純文本形式存儲表格數據。該文件是一個字符序列,能夠由任意數目的記錄組成,記錄間以某種換行符分隔,每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最多見的是逗號或製表符,不過全部記錄都有徹底相同的字段序列,至關於一個結構化表的純文本形式,它相比 Excel 文件更加簡介,XLS 文本是電子表格,它包含了文本、數值、公式和格式等內容,而 CSV 中不包含這些內容,就是特定字符分隔的純文本,結構簡單清晰,因此有時候咱們用 CSV 來保存數據是比較方便的,本節咱們來說解下 Python 讀取和寫入 CSV 文件的過程。

 寫入:

import csv
with open('data.csv', 'w') as csv_file:
    writer = csv.writer(csv_file, delimiter=' ')  # delimiter參數修改列於列之間的分隔符
    writer.writerow(['id', 'name', 'age'])
    writer.writerow(['1001', 'Mike', 20])
    writer.writerow(['1002', 'Bob', 22])
    writer.writerow(['1003', 'Jordan', 21])

 

首先打開了一個 data.csv 文件,而後指定了打開的模式爲 w,即寫入,得到文件句柄,隨後調用 csv 庫的 writer() 方法初始化一個寫入對象,傳入該句柄,而後調用 writerow() 方法傳入每行的數據便可完成寫入。

 讀取:

import csv

with open('data.csv', 'r', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

列表形式:

import pandas as pd

df = pd.read_csv('data.csv')
print(df)

相關文章
相關標籤/搜索