1. 程式人生 > >Python讀取csv表格,使用微信批量傳送資訊

Python讀取csv表格,使用微信批量傳送資訊

場景: 給一個csv表格,其中包括了需要傳送的聯絡人,以及需要通知的事項,然後使用微信進行逐個批量傳送
拆解問題:
如何讀取csv格式,把資訊提取出來
使用csv模組
新手可能不知道讀取之後會返回什麼型別的結果,所以可以一步一步輸出中間變數

import csv
f = open(path, 'r')
reader = csv.DictReader(f)

使用微信給好友批量傳送資訊

如何登入微信

from wxpy import *
bot = Bot()

如何定位到某個好友

found = bot.friends().search('遊否', sex=MALE, city='深圳')


通過 .search() 獲得的搜尋結果 均為列表

如何給好友傳送資訊

found.send(msg)

如何製造簡訊模板?
方案:字串後使用.format()

程式碼

import csv
from wxpy import *
import time

path = "/Users/sk/Documents/test.csv"
name = []
times = []
course = []
address = []


#  讀csv格式的資料,並返回提取出的資料

def read_info():
    f = open(path, 'r')
    reader = csv.DictReader(f)
    return
[info for info in reader] # 把資料處理成可以傳送的簡訊 def make_mgs(row_msg): total_msg = [] for info in row_msg: name.append(info["Column 1"]) times.append(info["Column 2"]) course.append(info["Column 3"]) address.append(info["Column 4"]) # a = '{name}-同學請於{times}時間參加{course},地址是{address}.收到請回復,謝謝!'
# a.format(name="sk", times="re", course="fd", address="tes") for i in range(1, len(name)): t = "{name}-同學請於{times}時間參加{course},地址是{address}.收到請回復,謝謝!".format( name=name[i], times=times[i], course=course[i], address=address[i] ) total_msg.append(t) return total_msg # 傳送資訊 def send(msg): bot = Bot() for m in msg: friend_name = m.split("-")[0] f = bot.friends().search(friend_name) if len(f) == 1: f[0].send(m) else: print(friend_name) print("Please check this name") time.sleep(3) row_info = read_info() msg = make_mgs(row_info) send(msg)

筆記及心得

如果不確定,或者不太瞭解一個新事物的話,一定要先試試水,然後再逐步使用,熟悉它.
如果不太理解csv,就一步一步輸出,看其中一步一步的中間量是怎麼回事.
dictionary(dict) 字典

面向過程(把大問題分解成函式,逐個完成)
先寫框架,搞清楚引數的傳遞.是否需要返回引數,是否需要接受引數.

寫了幾個函式,並沒有呼叫,看到沒有出現期望的結果.還以為程式出錯了,太傻.不呼叫函式,怎麼執行啊

Python筆記

列表解析式 [info for info in reader]
len(list) 返回list的元素個數
for 迴圈中 range靈活使用

多做事,少害怕
別總是覺得自己不行,怎麼就不行,哪方面不行?什麼東西是學不會的.從長期來看,沒有什麼東西是學不會的.
不成為慫到害怕別人不慫的人

常見的問題:
1. 教程上一切正常可以執行,自己敲程式碼的時候發現出了問題;
2. 自己測試一段簡單的程式碼,明明是對的,但是”看似”一模一樣的遷移到工作程式之後,出現了錯誤.
記住: 變數即是原因
所以此時只需要觀察,兩者之間的變化有哪些,然後逐步向正確的程式碼靠攏(即使是形式上,也需要),直至找到原因所在.

閱讀一個陌生的文件,一定要嚴格按照上下順序,讀.不要嘗試跳讀.可以先瀏覽一下目錄.
對於一個陌生的API介面,可以先在terminal中試試水,不建議在編輯器中測試,因為在terminal中可以輸入一段程式,然後輸出對應的結果;更方便和直觀
需要先測試需要用到的元件,測試完成之後,再進行組合,開始寫自己的東西.

要避免使用程式語言的關鍵字,eg.time, list等 雖然知道這一點,但是使用的時候需要多注意.

閱讀文件時要知道自己需要什麼東西,否則毫無意義.
遇到知識盲點了,需要查詢文件.
先想好自己需要哪些東西,列出來,然後再一一去查詢文件.
不要反過來: 直接去看文件,看到這個函式,覺得這個函式一會好像能用到,一會兒又看到一個函式,又感覺能用到;這樣做可能會找到很多對自己沒有的東西,而且會錯過自己真正需要的東西(掃過去的時候,可能沒看懂,覺得自己用不到)

要特別注意文件中的note(註解,注意事項等),以特殊顏色標記的提示資訊.
getting started 新手入門
guide 指南
reference 參考資料
release note 釋出說明
sample code 示例程式碼
technical note 技術說明
technical Q&A

相關推薦

Python讀取csv表格,使用批量傳送資訊

場景: 給一個csv表格,其中包括了需要傳送的聯絡人,以及需要通知的事項,然後使用微信進行逐個批量傳送 拆解問題: 如何讀取csv格式,把資訊提取出來 使用csv模組 新手可能不知道讀取之後會返回什麼型別的結果,所以可以一步一步輸出中間變數 impo

python分析統計自己朋友的資訊

首先,你得安裝itchat,命令為pip install itchat,其餘的較為簡單,我不再說明,直接看註釋吧。 以下的程式碼我在Win7+Python3.7裡面除錯通過 __author__ = 'Yue Qingxuan'# -*- coding: utf-8 -*-import itchat# h

公眾號,模版傳送資訊(java)

微信公眾平臺授權登入獲取使用者openid。 微信公眾平臺地址:https://mp.weixin.qq.com/ 1:模板配置 2:傳送模板的介面文件 3:微信回撥地址域名配置 ------------------------------------------

Python中使用wxpy定時機器人給好友傳送每日一文

效果 前言 愛詞霸每日一文API http://open.iciba.com/dsapi/ 我們要獲取的就是content以及note的內容 實現 安裝庫 開啟cmd,輸入: pip install wxpy 然後再輸入: pip insta

python騷操作,指定好友傳送訊息

python 指定好友傳送訊息 大家在測試的時候儘量使用微信小號 不要不改程式碼就測試 這裡呼叫了金山詞霸的每日一句,你也可以指定文字資訊傳送,七夕快到了,你懂得。 from threading 

python自動給好友傳送天氣預報

主要思路: 1.從wxpy獲取好友列表,也可發給指定好友 2.建立定時器,也可以隨時傳送 3.定時器觸發函式 4.函式執行,遍歷好友列表 5.好友物件執行帶參函式,引數為該好友城市 6.函式中請求百度天氣介面,得到該好友對應天氣資料,解析處理資料,傳送天氣資訊

Python 讀取csv檔案批量入庫Mysql

注:僅為筆記 1、Python ftp連線,下載檔案 def ftpDownload() : #建立ftp物件例項 ftp = FTP() ftp.connect(FTPIP, FTPPORT) #通過賬號和密碼登入FTP伺服器 ftp.logi

Python讀取excel表格時,意外的深入理解info字典問題

append hello clas 鍵值 print 商城 tables 包括 excel表格 import xlrd import re def excel_table_byindex(): data = xlrd.open_workbook(‘crawling

python調用企業API

python api wechat #!/usr/bin/env python # -*- coding:utf-8 -*- # 2017-07-25 編寫 import json import sys import urllib, urllib2 """ CorpID 企業ID Secret

如何使用python控制手機(以遊戲跳一跳為例)

更多 狀態 ace word margin mil vpd 會有 選項 需要一個安卓手機(請原諒我買不起蘋果)需要一根數據線(智能充電的電線我估計不行)需要一臺電腦(筆記本,臺式機都可以,此次試驗以win7系統為例)聲明下:本人初學python 一個星期,做此博文的目的就是

Python 幫你玩跳一跳 GitHub Python腳本

問題 開發者選項 sdk github div 行程 如何 orm bubuko 前言想自己搞遊戲小程序的 本來想自己搞個簡單的八數碼遊戲的,順帶研究下 A*算法的,結果 這個微信 個人號不讓我發布,就很氣,然後再研究了 AutoJS和adb之後,決定懟一波微信很火的小程序

python實現通過企業發送消息

平時 content quest pri acc C# send float nco 實現了通過企業微信發送消息,平時用於運維的告警還是不錯的,相對於郵件來說,實時性更高,不過就是企業微信比較麻煩,此處不做過多解釋。 企業微信api的詳細請看:http://work.wei

python教你用每天給女朋友說晚安

threading 每次 r.js 圖片 return AC code on() pre 但凡一件事,稍微有些重復。我就考慮怎麽樣用程序來實現它。 這裏給各位程序員朋友分享如何每天給朋友定時微信發送”晚安“,故事,新聞,等等··· ···最好運行在服務器上,這樣後臺掛起來更

Python 爬蟲爬取文章

微信爬蟲 爬取微信文章 爬取公眾號文章搜狗微信平臺為入口 地址:http://weixin.sogou.com/ --------------------------------------------------------------搜索關鍵詞“科技”對比網址變化情況查看網址http://wei

python爬搜狗獲取指定公眾號的文章

lac bubuko 驗證 user pre info 分享 ima sogo 前言: 之前收藏了一個叫微信公眾號的文章爬取,裏面用到的模塊不錯。然而 偏偏報錯= =。果斷自己寫了一個 正文: 第一步爬取搜狗微信搜到的公眾號: http://weixin.sogo

資深程序員教你用Python如何調企業接口發送消息!叼的不行!

交互界面 數據 絕對路徑 深入 通過 推薦 class mongod 圖片 進入正題 先來幾張好玩的圖片 首先進入python交互界面,導入我自己寫的模塊,然後發一個測試消 息,"Hello,小夥伴們好!",然後看看企業號能否收到相應的消息。

python 讀取 csv 中文 亂碼 解決辦法

解決辦法 pre pen 讀取 gb2 line with pri clas import codecs with codecs.open(‘h.csv‘, ‘rb‘, ‘gb2312‘) as csvfile: for line in csvfile:

Python 爬蟲案例-web登陸與消息發送

recv 遺憾 內部 set rmq view ons ats ascii 首先回顧下網頁微信登陸的一般流程   1、打開瀏覽器輸入網址   2、使用手機微信掃碼登陸   3、進入用戶界面 1、打開瀏覽器輸入網址 首先打開瀏覽器輸入web微信網址,並進行監控: h

python調用企業接口發送報警

adf elf 企業微信 cto tid 應用信息 gen lse user 在運維的日常工作中常常需要同監控打交道,而監控中最常用的功能介紹報警,最簡單的方式就是使用郵件進行報警,但是郵件報警不是特別及時(像我這種一天都不怎麽看郵件的估計得等服務掛了才知道),所以我們需要

程式猿推送利器:使用Python+Server醬打造通知推送利器

你是否經歷過伺服器掛掉卻渾然不知的彷徨?你是否感受過服務停止很久後才發現事情的嚴重的感覺?是的,你急需一款輕量級的推送通知系統! Server醬正是這麼一款程式猿的好幫手,她通過提供一個超輕量級的API介面就可以讓你的訊息推送到你的微信上,達到以下效果: 那麼如何實現訊息