我想检索的值var modelCode。我做了这样的正则表达式函数,但它根本不起作用。我已经发布了以下页面的结构,请问有人可以帮我吗?
regex2 = re.compile(r'"var modelCode"\s*:\s*(.+?\})', re.DOTALL)
source_json3 = response.xpath("//script[contains(., 'if(pageTrackName == 'product detail' || pageTrackName == 'generic product details')')]/text()").re_first(regex2)
source_json3 = re.sub(r'//[^\n]+', "", source_json3)
Run Code Online (Sandbox Code Playgroud)
页面结构:
var pageTrackName = digitalData.page.pageInfo.pageTrack;
if(pageTrackName == "product detail" || pageTrackName == "generic product details"){
var modelCode = "GT-P5100TSABTU";
var displayName = "Galaxy Tab 2 (10.1, 3G)".replace(/(<([^>]+)>)/gi, "");
digitalData.product.model_code = modelCode;
digitalData.product.displayName = displayName;
pageName += ":" + modelCode;
Run Code Online (Sandbox Code Playgroud)
}
我在替换pandas数据帧中的值时遇到问题.
我想在数据框的列('URL')中搜索它是否包含多个字符串.
如果这是真的,我想替换数据帧中的另一列的值,但是在相同的行上.如果在"URL"列的网址中找到字符串,我想在"模型"列中的同一行写入该字符串,并在"品牌"列上写"三星"
目前,当包含的if条件为真时,它会替换其他列上的所有值,而我不希望这样.
Python代码:
import pandas as pd
dataframe_initial = pd.DataFrame()
dataframe_initial = pd.read_excel('tele2.xlsx')
dataframe_initial['Model'] = ""
dataframe_initial['Brand'] = ""
str1 = 'galaxy-S9'
str2 = 'note-9'
str3 = 'galaxy-a6'
str4 = 'Huawei'
str5 = 'P20'
str6 = 'Apple'
str7 = 'Iphone-X'
for url in dataframe_initial['URL']:
if str1 in url:
dataframe_initial['Model'] = str(str1)
dataframe_initial['Brand'] = str('Samsung')
if str3 in url:
dataframe_initial['Model'] = str(str3)
dataframe_initial['Brand'] = str('Samsung')
if str2 in url:
dataframe_initial['Model'] = str(str2)
dataframe_initial['Brand'] = str('Samsung')
Run Code Online (Sandbox Code Playgroud) 我的网页上有两个具有相同类名的元素,并且我正在尝试访问第二个元素,但我无法做到这一点。
跨度看起来像这样:
<span class="REPORTING_DASHBOARDS__link navMenuLabel ">
Dashboards
</span>
Run Code Online (Sandbox Code Playgroud)
我这部分的代码如下所示:
dashboards_button = driver.find_element_by_css_selector(".REPORTING_DASHBOARDS__link.navMenuLabel")[1]
dashboards_button.click()
Run Code Online (Sandbox Code Playgroud) 我目前正在进行一项测试,在该测试中,我具有不同的区域以及一些相关的统计信息,并且用逗号分隔了这些区域中的基因。该列表的数量是可变的,并且可能不包含任何内容("NA")。
如何“融化”此数据框:
region_id statistic genelist
1 2.5 A, B, C
2 0.5 B, C, D, E
3 3.2 <NA>
4 0.1 E, F
Run Code Online (Sandbox Code Playgroud)
变成这样的东西:
region_id statistic gene
1 2.5 A
1 2.5 B
1 2.5 C
2 0.5 B
2 0.5 C
2 0.5 D
2 0.5 E
3 3.2 <NA>
4 0.1 E
4 0.1 F
Run Code Online (Sandbox Code Playgroud)