我正在制定一个例程,'.'
从网络抓取过程中动态构建的字典中删除句点。下面是我正在使用的代码,它似乎可以正常工作以删除字典值(y
)的句点,但不能删除键(x
)。
关于如何解决这个问题有什么指导吗?
def dot_be_gone(dirty_dic):
clean_dic = {}
for x,y in dirty_dic.items():
clean_x = str(x).strip('.')
clean_y = str(y).strip('.')
clean_dic[clean_x] = clean_y
return(clean_dic)
dot_be_gone({"No. of Pets":"1", "No Problem":"Okay..."})
Run Code Online (Sandbox Code Playgroud)
执行时会产生以下结果:
def dot_be_gone(dirty_dic):
clean_dic = {}
for x,y in dirty_dic.items():
clean_x = str(x).strip('.')
clean_y = str(y).strip('.')
clean_dic[clean_x] = clean_y
return(clean_dic)
dot_be_gone({"No. of Pets":"1", "No Problem":"Okay..."})
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,句点已从第二个值中删除,但没有从第一个键中删除。
我注意到 strip() 对 '[' 符号没有反应(真的很奇怪)
julia> strip("a+b[2]", '[')
"a+b[2]"
julia> strip("a+b[2]", ']')
"a+b[2"
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么事吗?
这是我以前的问题的延续(如果你好奇,请检查它们).
我已经可以看到隧道尽头的灯光,但我有一个最后的问题.
出于某种原因,每一行都以TAB字符开头.
如何忽略第一个字符(在我的情况下为"tab"(\ t))?
filename = "terem.txt"
OraRend = collections.namedtuple('OraRend', 'Nap, OraKezdese, OraBefejezese, Azonosito, Terem, OraNeve, Emelet')
csv.list_dialects()
for line in csv.reader(open(filename, "rb"), delimiter='\t', lineterminator='\t\t', doublequote=False, skipinitialspace=True):
print line
orar = OraRend._make(line) # Here comes the trouble!
Run Code Online (Sandbox Code Playgroud)
文本文件:
http://pastebin.com/UYg4P4J1
(无法在此处将所有选项卡粘贴到此处.)
我找到了lstrip,strip和其他方法,所有这些方法都会占用所有字符,因此元组的填充会失败.
如何判断etree.strip_tags()
从给定标签元素中剥离所有可能的标签?
我是否必须自己绘制地图,例如:
STRIP_TAGS = [ALL TAGS...] # Is there a built in list or dictionary in lxml
# that gives you all tags?
etree.strip_tags(tag, *STRIP_TAGS)
Run Code Online (Sandbox Code Playgroud)
也许是一个我不知道的更优雅的方法?
输入示例:
parent_tag = "<parent>This is some <i>text</i> with multiple <some_tag>tags</some_tag> and sometimes they <tt>are<bold> nested</bold></tt>.</parent>"
Run Code Online (Sandbox Code Playgroud)
期望的输出:
# <parent>This is some text with multiple tags and sometimes they are nested.</parent>
Run Code Online (Sandbox Code Playgroud)
甚至更好:
This is some text with multiple tags and sometimes they are nested.
Run Code Online (Sandbox Code Playgroud) 我有一个成功显示帐号的循环.其中一些数字保存在数据库中,前面加上"@".我想从显示的结果中删除"@"符号.我见过很多的解决方案的一个简单的反响,通过完成此trim
,preg_replace
等等,但没有内for
循环.有任何想法吗?
我当前的代码(不包括尝试的解决方案):
<?php
$query = sprintf("SELECT banner_id FROM tablename") or die(mysql_error());
$result = mysql_query($query, $dblink) or die(mysql_error());
$i = 0;
if($result){
while($row = mysql_fetch_array($result)){
$banner_id[$i] = $row['banner_id'];
$i++;
}
}
?>
<html><body>
<ul>
<?php
for($x=0; $x < mysql_num_rows($result); $x++) {
echo "<li>{$banner_id[$x]}</li>\n";
}
?>
</ul>
</body></html>
Run Code Online (Sandbox Code Playgroud)
电流输出:
期望的输出:
我觉得这应该很容易,但我找不到任何有用的东西.谢谢你尽你所能的帮助!
我是python的新手.我想修剪一个字符串,如果它的最后6位是0.我检查了strip()方法,但是我没有看到一个指示从右边修剪n个字符的方法.
样本字符串:
20121124000000
Run Code Online (Sandbox Code Playgroud)
结果字符串应该是:
20121124
Run Code Online (Sandbox Code Playgroud) 我真的不懂.strip函数.
说我有一个字符串
xxx = 'hello, world'
Run Code Online (Sandbox Code Playgroud)
我想删除逗号.为什么不呢
print xxx.strip(',')
Run Code Online (Sandbox Code Playgroud)
工作?
题
我正在尝试从BeautifulSoup下载的html文件中删除类似<h2>
和的样式标签<div class=...>
。我确实想保留标签包含的内容(例如文本),但是这似乎不起作用。
我尝试过的
for url in urls:
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find("div", {"class": "product_specifications bottom_l js_readmore_content"})
print "<hr style='border-width:5px;'>"
for style in table.find_all('style'):
if 'style' in style.attrs:
del style.attrs['style']
print table
Run Code Online (Sandbox Code Playgroud)
我尝试过的Urls
我是PHP的新手,希望有人可以帮助我.
我想让PHP给我网站当前页面的名称.重要的是我需要这个没有任何前导斜杠和没有任何尾随扩展等,只有普通的页面名称.
示例:
页面的URL是http://www.myurl.com/index.php?lang=en
在这种情况下,它应该只返回"index".
我找到了一种方法来使用以下,但无法正常删除后的部分,因为这是变量(可以是刚刚摆脱的前沿部分.php
或.php?lang=en
或.php=lang=de
等).
$pageName = basename($_SERVER["REQUEST_URI"]);
Run Code Online (Sandbox Code Playgroud)
我发现的唯一的事情是以下,但这不包括变量扩展部分:
$pageName = basename($_SERVER["REQUEST_URI"], ".php");
Run Code Online (Sandbox Code Playgroud)
有人能告诉我如何摆脱尾随部分吗?
非常感谢,迈克
我正在尝试使用python将tab标记的文件加载到pandas中,以便我可以执行不同的查询.不幸的是,文件格式是非常好的(它可以很好地加载到Excel,但我需要以编程方式使用它.
当我做:
>>> print(df.columns)
Index([u'Domain Name ',
u'Current Bid ', u'Join By Date (ET)', u'Join By Date (PT)',
u'Bidders ', u'Seller ', u'TLD ', u'Length',
u'Words ',
u'Word Count',
u'Categories ',
u'Hyphens ', u'Numbers ', u'Auction Type'],
dtype='object')
Run Code Online (Sandbox Code Playgroud)
我怎样才能修复这么简单的文件df.query('TLD) == "value"')
呢?
我每5天收到一个新文件,所以我需要以编程方式进行.
注意 - 请耐心等待,我是脚本和Python的新手