簡體   English   中英

跳過 CSV 中的行以列出 Python

[英]Skip Rows in CSV to List Python

我是 python 新手,正在嘗試使用 twilio 構建一個短信應用程序,但遇到了以下問題。 我有一個包含 3 列的 csv 文件: Numbers, Name, Link我通過執行以下操作將每一列轉換為單獨的列表:

from pandas import *

columns = read_csv("file path")
phone_number = columns['Numbers'].tolist()
last_name = columns['Name'].tolist()
link = columns['Link'].to_list()

如果找到某個數字,我試圖跳過“行”。 例如,如果Number = 8001234567我想跳過該鏈接及其關聯名稱,並繼續向其他數字、名稱和鏈接發送消息。 這是我到目前為止所擁有的:

def send_message(num, lname, link):
    message = twilio_client.messages.create(
    body= 'Hi ' + lname +  ',\n\n This is a test. Heres a link: ' + link, 
    from_= my_number, 
    to= num)

for (n, ln, lk) in zip(phone_number, last_name, link):
    if n =='8001234567':
        continue
    time.sleep(5)
    send_message(num=n, lname=ln, link=lk)

由於某種原因沒有發送任何消息,但如果我從body中刪除參數和變量,它會發送適量的消息。

我已經重新格式化了你的代碼。 twilio_client.messages.create接受正文 from_ to 作為字符串。

import pandas as pd


df = pd.read_csv("file path")
df = df[df['Numbers'].astype(str) != '8001234567']

def send_message(num, lname, link):
    message = twilio_client.messages.create(
    body= f'Hi {lname} \n\n This is a test. Heres a link:', 
    from_= my_number
    media_url=[link], 
    to= num)

for i in range(df.shape[0])
    n, ln, lk = df.iloc[i,:].values
    send_message(num=str(n), lname=str(ln), link=str(lk))
    time.sleep(5)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM