我对 python 有点陌生,无法弄清楚为什么这不起作用。我有一个类似这样的变量:
[u'\n Data I want ']
Run Code Online (Sandbox Code Playgroud)
但我也有一些简单的变量:
[u' more Data I want ']
Run Code Online (Sandbox Code Playgroud)
我通过循环运行变量,但我需要去除数据周围的所有额外内容。我创建了一个函数来处理这个问题,但我不确定为什么它不起作用(我不确定但我怀疑 \n 是一个特殊字符)
def stripName(name):
name = str(name)
if name.startswith( "\n" ):
print "starts with new line"
name = name[5:-2]
else:
print "does not start with new line"
name = name[3:-2]
return name
Run Code Online (Sandbox Code Playgroud)
问题是“if name.startswith("\n" )”永远不会匹配......我看过其他例子,我想我正在这样做。我什至尝试过,if name.startswith( "\n" ) == 'True':但这也不起作用。
在此先感谢你们提供的任何见解。
我开始学习一些编程语言.我学会了python,然后做了一些jython,现在想学习java.我读了一本基本书,但还没有做任何导入库的事情.我想尝试使用jsoup for java(因为我熟悉python的beautifulsoup,并认为这会让我的学习变得更容易).
但我正在尝试的例子仍然失败(http://jsoup.org/cookbook/extracting-data/example-list-links).我下载了jsoup,将其复制到libraries/java/extentions并尝试了上面的脚本,但我不断得到:
Exception in thread "main" java.lang.IllegalArgumentException: usage: supply url to fetch
at org.jsoup.helper.Validate.isTrue(Validate.java:45)
at org.jsoup.examples.ListLinks.main(ListLinks.java:16)
Run Code Online (Sandbox Code Playgroud)
起初我想也许这个库没有正确导入或者我不得不做一些不同的东西才能在netbeans中获得它但是当我看到我的项目时,我看到了一个库和jsoup的菜单似乎就在那里.
我在线尝试了一些其他脚本,但是我遇到了错误.我想我可能没有正确导入它,但任何人都可以帮我识别问题(我是一个新手,我甚至不知道谷歌要找到答案...)?
提前致谢!
我正在学习Java,刚刚开始使用mysql,并且遇到了一些在python中运行的逻辑问题而且我在转换时遇到了问题.
我基本上有一个try语句,试图搜索数据库中是否存在记录.如果它确实很好,它继续前进,但如果记录不存在则添加它.这是我的代码
try
{
PreparedStatement Findstatement;
Findstatement = con.prepareStatement(" SELECT DataMaster_MasterCode FROM Allocation WHERE Master_Code = (?) and date = (?)");
Findstatement.setInt(1, Code);
Findstatement.setString(2, AllocationDate);
ResultSet CodeAll = Findstatement.executeQuery();
int DataMaster_MasterCode;
while (CodeAll.next())
{
DataMaster_MasterCode = CodeAll.getInt("DataMaster_MasterCode");
}
System.out.println("Found allocation " + DataMaster_MasterCode + " already exists for " + Name);
}
catch (Exception e)
{ //Create statements... }
Run Code Online (Sandbox Code Playgroud)
问题是它继续发生异常,因为可能没有初始化DataMaster_MasterCode变量.我认为因为python只是执行代码,因为它在python中工作,但因为java预编译它,它将此视为错误并跳过.如果该变量未被初始化,我希望它失败并转到catch语句(创建变量).
现在它不断失败并不断创建(复制)条目,因为它永远不会完成语句来查找数据本身.我想过把一个else if语句检查变量是否为null然后中断,但它对我来说也不起作用.
请帮我逻辑一下.
编辑问题以使其更加具体。
不尝试将其基于节点的内容,而仅基于有向图的结构。
例如,pagerank(最初)仅使用链接结构(有向图)来推断更相关的内容。我不太确定,但我认为 Elo(国际象棋排名)做了一些类似的事情来对玩家进行排名(尽管它也增加了分数)。
我正在使用 python 的 networkx 包,但现在我只想了解实现此目的的任何算法。
谢谢!
我有一个程序创建列表,需要任何指定的值为0.当我这样做时它运行正常,int[] humpty_dumpty = new int[20]; 但优化我设置的列表的大小,Short[]现在我的程序打破,因为它取零作为输入(并Short[] humpty_dumpty = new Short[20];正在制作默认值null).
有没有办法将它设置为默认值零而不必遍历整个列表(我可以通过for循环来做到这一点但是想知道是否有办法使其行为类似于int)?
我很抱歉,如果这个问题非常基础,这是我第二次使用c ++而且我正在尝试移植一些我编写的Java代码但是我无法理解某些行为.我有一个数据列表,并希望创建另一个相同大小的列表,但值默认为零(在Java中我Arrays.fill(list, 0);创建它后使用).当我尝试用C++做类似的事情时,我得到了variable-sized object 'list1' may not be initialized
这是一个更好的例子代码:
#include <iostream>
#include <boost/assign/std/vector.hpp> // for 'operator+=()'
using namespace std;
using namespace boost::assign;
int main()
{
cout << "Hello World!" << endl;
vector<short> data;
data += -40, -30,-10, 20, 50;
//int coeff [data.size()];
cout << "data array size is " << data.size() << endl;
short list1 [data.size()] = {0}; //does not work
for (int i =0; i<data.size(); i++) {
cout << "data is " << list1[i] << …Run Code Online (Sandbox Code Playgroud) 我不确定我做错了什么,但在过去的2个小时里,我一直试图用道具来改变按钮中两个项目的值.它适用于一个但不适用于另一个,我不知道为什么.
HTML:
<input type='button' value='Following' id='btnFollow' dataaction="UnFollow" datatype='topic'>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$("#btnFollow").prop("value", "Follow");
$("#btnFollow").prop("dataaction", "Follow");
Run Code Online (Sandbox Code Playgroud)
第一项改变(value)但不改变第二项(dataaction).我不知道为什么(其他可能为时已晚,我的大脑正在反抗).根据文档,我正在做的正确.我在每个命令之间添加了警报,以防一个失败,但两个警报都关闭,这意味着当jquery尝试更改第二个项目时没有崩溃或任何事情.我没有看到任何拼写错误,我试图菊花链接命令,但仍然没有运气.
有什么建议?
entire_code:
$(document).ready(function () {
$('#btnFollow').click(function() {
var topic_id = $(this).attr('datatopic');
var action_type = $(this).attr('datatype');
var action_type_action = $(this).attr('dataaction');
alert(action_type_action);
//$("#btnFollow").prop('value', 'Following');
if (action_type_action == 'Follow') {
$("#btnFollow").prop({'value': 'Following', 'dataaction': 'UnFollow'});
//$("#btnFollow").prop("value", "Following");
//$("#btnFollow").prop("dataaction", "UnFollow");
$.ajax({
type: 'POST',
url: '/follow_modification',
async: false,
data: {
topic: topic_id,
action: action_type_action,
follow_type: action_type
}
//complete: function(xmlRequestObject, successString){
// ymmReceiveAjaxResponse(xmlRequestObject, successString);
//}
});
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Python、Selenium 和 Xpath 从站点收集一些数据。我想要多个数据点,它们都在这个结构中:
/tr[1]/td
/tr[2]/td
/tr[3]/td
/tr[4]/td
Run Code Online (Sandbox Code Playgroud)
我不知道有多少<tr>,所以我试图以一种只给我所有结果的方式进行搜索(希望在列表中)。我怎么做?
这是我的实际代码,但这只是给我个人结果。我是网络抓取的新手,不确定问题是否出在我的 Xpath 上(没有正确使用通配符,或者它是否与我的 get_attribute 标签有关 - 如果它获得了innerhtml,那么它是否只为单个条目获得它?)
data = driver.find_element_by_xpath('//*[@id="a-stockFinancials_tabs"]/div[2]/div[1]/table/tbody/tr[5]/td').get_attribute("innerHTML")
print data
Run Code Online (Sandbox Code Playgroud) 如果我有一个列表字典,并且如果列表值之一匹配,我想将列中的值映射/替换为每个项目的键,我该怎么做?
例如:
MappingDict = {
'argenx SE': ['argenx SE',
'Argenx SE',
'ARGENX SE',
'ARGENX SE NV',
'ARGENX SE COMMON STOCK',
'ARGENX SE ARGX',
'argenx SE ADR'],
'Arête Industries, Inc': [],
'Ares Management Corporation': ['Ares Management Corporation',
'Ares Management Corporation 7 % Non-Cum Pfd Registered Shs Series A'],
'Alexandria Real Estate Equities, Inc': ['Alexandria Real Estate Equities, Inc',
'Alexandria Real Estate Equities Inc 3.45 04/30/2025',
'Alexandria Real Estate Equities Inc-3.45%-4-30-2025']
}
Run Code Online (Sandbox Code Playgroud)
我有看起来像这样的数据框
df['Name']:
Name
Alexandria Real Estate Equities Inc 3.45 04/30/2025 …Run Code Online (Sandbox Code Playgroud) 我研究了这个,似乎仍然无法解决这个问题.我的程序中有以下内容:
public void InsertDB(double price, double shares, String ticker, int id)throws Exception {
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
我在我的主类中尝试了以下内容(并且在静态上下文中无法引用上面的错误非静态方法):
InsertDB(constants[i], variables[i], ticker[i], count);
Run Code Online (Sandbox Code Playgroud)
然后我读到你必须创建一个新实例,所以我尝试(Testingground是我的程序的名称),我得到一个错误,说它找不到InsertDB符号:
Testingground myObject = new InsertDB();
Run Code Online (Sandbox Code Playgroud)
我是java新手并继承了这个程序(我的程序没有遇到过这个问题),有人可以告诉我我能做些什么才能让它工作以及它背后的逻辑?(我的insertdb类给了我错误,如果我把它变成静态,这样方法将无法正常工作).我还读到如果我改变它可能会工作public,protected但它仍然无效.
提前致谢
对不起,如果这是基本的,我只是没有看到答案.基本上我使用ThreadPoolExecutor运行几个线程来启动10个线程.我希望每个线程在其生命周期内与服务器建立自己的连接.是否有可能,如果可以,我在哪里放这个代码?
示例代码:
class DoWork implements Runnable{
protected String[] data = null;
public DoWork(String[] data) {
// get the data each thread needs to work
this.data = data;
}
public void run() {
// Do the work here
}
}
Run Code Online (Sandbox Code Playgroud)
我的理解是,如果工作队列中有项目,那么ThreadPoolExecutor使10个线程保持活动状态,并且当工作完成时,它们就会死亡.在这个结构的某处我可以添加连接信息吗?我不想在DoWork方法中这样做,因为这将为每个工作单元完成(因此在工作队列中打开多个项目的连接,可能是数千个并且在我尝试时导致超时).放入类声明和方法之间似乎没有做任何事情(虽然我可能做错了).
有关如何实现这一目标的任何想法?
更新:不是100%需要,但我很好奇是否还有一种方法可以让它在终止时做一些事情(也许所以我可以关闭与服务器的连接,而不是等待它超时).
有没有办法做到这一点?
list = ['test inc', 'abc', '123 corp']
words_to_filter = ['inc', 'corp']
list.replace(words_to_filter,'')
Run Code Online (Sandbox Code Playgroud)
我的预期结果应该是:
test, abc, 123
Run Code Online (Sandbox Code Playgroud)
现在我得到:
TypeError: replace() argument 1 must be str, not list
Run Code Online (Sandbox Code Playgroud) java ×5
python ×5
algorithm ×2
c++ ×1
javascript ×1
jquery ×1
mysql ×1
netbeans ×1
pandas ×1
selenium ×1
statistics ×1
web-scraping ×1
xpath ×1