csv以逗號分隔,但是我發現我寫的檔案裡出現多列跟逗號沒關係,就算去除了逗號也還是一樣。
#!/usr/bin/env python
# -*- coding:utf8 -*-
# @time :2019/5/18 13:39
# @author :17976
# @file :piplines.py
# @description:
import re
import pymongo
from pymongo.errors import duplicatekeyerror
import settings
class csv_write():
def __init__(self,file_name='wenshu.csv'):
self.file_name = file_name
def write_item(self,item):
with open(self.file_name, 'a+', encoding='utf-8-sig') as f:
for value in item.values():
if type(value) == dict:
for val in value.values():
replacedstr = str(val).replace(",",' ')
f.write(f"" + ',')
else:
replacedstr = str(value).replace(",",' ')
f.write(f"" + ',')
f.write('\n')
class mongostore():
def __init__(self,table_name):
host = settings.mongo_msg["mongodb_host"]
port = int(settings.mongo_msg["mongodb_port"])
dbname = settings.mongo_msg["mongodb_dbname"]
table = table_name
#建立資料庫連線
self.client = pymongo.mongoclient(host=host, port=port)
# 指定資料庫
mydb = self.client[dbname]
# # 設定文書id為唯一索引,避免插入重複資料
mydb[table].ensure_index('casedocid', unique=true)
self.post = mydb[table]
def process_item(self, item):
try:
data = dict(item)
self.post.insert(data)
return item
except duplicatekeyerror:
# 索引相同,即為重複資料,捕獲錯誤
print('duplicate key error collection')
return item
def close_client(self):
self.client.close()
這是一篇csv檔案分割的指令碼,非常棒,但是跟我想要解決的問題無關,以後或許用的著: Python資料儲存
乙個計算機必須能做4件事 接受輸入 產生輸出 儲存資料 執行計算 程式中的變數存放在記憶體中,可以快速的進行訪問,而像資料檔案這樣的資料一般很大存放在硬碟中,訪問速度很慢。下面顯示的是記憶體中的儲存情況,乙個格仔是乙個byte,發現短整型資料佔乙個byte,strings的每乙個字元佔乙個byte。...
python資料儲存
列表是一種儲存大量資料的儲存模型。列表具有索引的概念,可以通過索引操作列表中的資料。列表中的資料可以進行新增 刪除 修改 查詢等操作。建立列表 變數名 資料1,資料2,獲取列表資料 變數名 索引 修改列表資料 變數名 索引 值 元組是一種儲存固定資料的儲存模型。元組具有索引的概念,可以通過索引操作元...
python爬蟲資料儲存JSON儲存
encoding utf 8 import re import requests import json from requests.exceptions import requestexception def get open page url try 請求頭 headers 使用localhos...