我正在从几个网站上抓取一些数据,并使用 Pandas 对其进行修改。
在前几个数据块上它运行良好,但后来我收到此错误消息:
Traceback(most recent call last):
File "data.py", line 394 in <module> df2[['STATUS_ID_1','STATUS_ID_2']] = df2['STATUS'].str.split(n=1, expand=True)
File "/home/web/.local/lib/python2.7/site-packages/pandas/core/frame.py, line 2326, in __setitem__ self._setitem_array(key,value)
File "/home/web/.local/lib/python2.7/site-packages/pandas/core/frame.py, line 2350, in _setitem_array
raise ValueError("Columns must be same length as key') ValueError: Columns must be same length as key
Run Code Online (Sandbox Code Playgroud)
我的代码在这里:
df2 = pd.DataFrame(datatable,columns = cols)
df2['FLIGHT_ID_1'] = df2['FLIGHT'].str[:3]
df2['FLIGHT_ID_2'] = df2['FLIGHT'].str[3:].str.zfill(4)
df2[['STATUS_ID_1','STATUS_ID_2']] = df2['STATUS'].str.split(n=1, expand=True)
Run Code Online (Sandbox Code Playgroud)
EDIT-jezrael :我使用了你的代码,并从中打印出来:我希望通过这个我们可以找到问题出在哪里..因为当脚本遇到这个拆分问题时,它似乎是随机的..
0 1
2 Landed 8:33 AM
3 Landed 9:37 AM
4 Landed 9:10 AM
5 …Run Code Online (Sandbox Code Playgroud) 我的目标是更改句子中的单词并写入文本文件.
我创建了一个文本文件:
filename = "/Users/Adam/Desktop/data.txt"
text = open(filename, 'r')
lines = text.readlines()
Run Code Online (Sandbox Code Playgroud)
我有这个例句:"我有一只红猫"
我想更改"RED",颜色名称,并将每个句子写入(追加)到我的data.txt.
colours={red, blue, yellow, green, etc..}
Run Code Online (Sandbox Code Playgroud)
如何将其置于循环中,仅替换此部分并将每个句子写入我的txt文件?
已编辑 - Sanket请求:
例如,我在这里开始我的文字,什么是段落,所以我想在.txt文件中的这个制表工具或空格....... asfgas sagsaasgsagasgsagsaaggaggggg
当我到达"我有一只红猫"时,我继续我的感情
之后我的文字仍在继续.
EDIT2:
#!/usr/bin/python
#!/bin/sh
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
from selenium import webdriver
import urllib2
import subprocess
import unicodecsv as csv
import os
import sys
import io
array = ["https://www.flightradar24.com/data/airports/gdn/departures", "https://www.flightradar24.com/data/airports/ktw/departures", "https://www.flightradar24.com/data/airports/krk/departures", "https://www.flightradar24.com/data/airports/wmi/departures", "https://www.flightradar24.com/data/airports/poz/departures", "https://www.flightradar24.com/data/airports/waw/departures", "https://www.flightradar24.com/data/airports/wro/departures", "https://www.flightradar24.com/data/airports/otp/departures", "https://www.flightradar24.com/data/airports/clj/departures", "https://www.flightradar24.com/data/airports/tsr/departures", "https://www.flightradar24.com/data/airports/bts/departures", "https://www.flightradar24.com/data/airports/lju/departures", "https://www.flightradar24.com/data/airports/alc/departures", "https://www.flightradar24.com/data/airports/bcn/departures", "https://www.flightradar24.com/data/airports/bio/departures", "https://www.flightradar24.com/data/airports/fue/departures", "https://www.flightradar24.com/data/airports/gro/departures", "https://www.flightradar24.com/data/airports/grx/departures", "https://www.flightradar24.com/data/airports/ibz/departures", "https://www.flightradar24.com/data/airports/xry/departures", …Run Code Online (Sandbox Code Playgroud) 我编写了一个 Python 脚本,用于发送带有附件的电子邮件,但我总是收到相同的错误消息:
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (552, b'5.3.4 Message size exceeds fixed maximum mess
age size', 'notification@company.com')
Run Code Online (Sandbox Code Playgroud)
如何更改服务器上的最大邮件大小限制以避免此错误消息并正确发送带有附件的电子邮件?
我用我的代码更新了我的问题:
emailfrom = "myemailadress"
emailto = "1.person"
emailto = "2.person"
fileToSend = "data.csv"
username = "user"
password = "password"
msg = MIMEMultipart()
msg["From"] = emailfrom
msg["To"] = emailto
msg["Subject"] = "subject"
msg.preamble = "subject"
ctype, encoding = mimetypes.guess_type(fileToSend)
if ctype is None or encoding is not None:
ctype = "application/octet-stream"
maintype, subtype = ctype.split("/", 1)
if maintype == "text":
fp …Run Code Online (Sandbox Code Playgroud) python ×3
email ×1
for-loop ×1
formatting ×1
pandas ×1
replace ×1
smtp ×1
smtpclient ×1
string ×1
web-scraping ×1