我有一个列表'abc'和一个数据帧'df':
abc = ['foo', 'bar']
df =
A B
0 12 NaN
1 23 NaN
Run Code Online (Sandbox Code Playgroud)
我想将列表插入单元格1B,所以我想要这个结果:
A B
0 12 NaN
1 23 ['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)
我可以这样做吗?
1)如果我使用这个:
df.ix[1,'B'] = abc
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
ValueError: Must have equal len keys and value when setting with an iterable
Run Code Online (Sandbox Code Playgroud)
因为它试图将列表(有两个元素)插入行/列但不插入单元格.
2)如果我使用这个:
df.ix[1,'B'] = [abc]
Run Code Online (Sandbox Code Playgroud)
然后它插入一个只有一个元素是'abc'列表([['foo', 'bar']])的列表.
3)如果我使用这个:
df.ix[1,'B'] = ', '.join(abc)
Run Code Online (Sandbox Code Playgroud)
然后它插入一个字符串:( foo, bar)但不是列表.
4)如果我使用这个:
df.ix[1,'B'] = [', '.join(abc)]
Run Code Online (Sandbox Code Playgroud)
然后它插入一个列表,但它只有一个元素(['foo, bar'])但不是我想要的两个(['foo', 'bar']).
感谢帮助!
我的新数据框和旧列表:
abc = ['foo', …Run Code Online (Sandbox Code Playgroud) 我刚开始使用Vim作为IDE.我现在使用它作为测试编辑器一段时间了,所以我不必经常进入命令模式.但是,既然我用Java编程,我必须进入命令模式来制作文件,编译/运行它......等等.
问题是:我需要一种在两种模式之间切换的好方法.
我在网上看了一下,它说<Esc>关键应该这样做,但这对我不起作用(也许这不适用于gVim?我不知道为什么.)
我CTRLO每次都要按下指令模式; 转义键在该模式下工作......它将我带回插入模式.但在命令模式和插入模式之间切换是否有更好或更简单的方法?
说我有一个选择
SELECT DISTINCT id, customer_id, domain FROM config WHERE type = 'foo';
Run Code Online (Sandbox Code Playgroud)
返回一些记录.
如何在结果集中为到达行执行插入操作
INSERT INTO config (id, customer_id, domain) VALUES (@id, @customer_id, 'www.example.com');
Run Code Online (Sandbox Code Playgroud)
这里@id和@customer_id在结果中的行的字段中设置?
编辑:我不想只复制它,而是在字段中插入一个新值domain.然而,一个facepalm - 情况,因为它很容易;-)谢谢!
我真的很感激你的帮助.
可能这是一个非常简单的问题需要解决 - 但我不是那个...... ;-)
我在SQL Server中有两个表:
现在我想选择一组特定的ID并将一些条目插入到带有这些ID的价格表中.
例如(错误和不工作的SQL)
INSERT INTO prices (group, id, price)
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Run Code Online (Sandbox Code Playgroud)
SQL错误 - >子查询具有多个值
感谢帮助
我在PHP工作.
请问将新记录插入到具有唯一字段的DB中的正确方法是什么.我正在批量插入大量记录,我只想插入新的记录,我不希望重复条目有任何错误.
有没有办法首先进行SELECT并查看INSERT之前是否已经存在该条目 - 并且只有当SELECT不返回记录时才进行INSERT?我希望不是.
我想以某种方式告诉MySQL忽略这些插入而没有任何错误.
谢谢
我有这个:
>>> a = [1, 2, 4]
>>> print a
[1, 2, 4]
>>> print a.insert(2, 3)
None
>>> print a
[1, 2, 3, 4]
>>> b = a.insert(3, 6)
>>> print b
None
>>> print a
[1, 2, 3, 6, 4]
Run Code Online (Sandbox Code Playgroud)
无论如何我可以获得更新的列表作为结果,而不是更新原始列表?
我想要做的是INSERT我的数据库中的订阅者,但IF EXISTS它应该UPDATE是行,ELSE INSERT INTO一个新行.
Ofcourse我连接到数据库第一和GET的$name,$email并$birthday从URL字符串.
$con=mysqli_connect("localhost","---","---","---");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$name=$_GET['name'];
$email=$_GET['email'];
$birthday=$_GET['birthday'];
Run Code Online (Sandbox Code Playgroud)
这可行,但只是添加新行;
mysqli_query($con,"INSERT INTO subs (subs_name, subs_email, subs_birthday)
VALUES ('$name', '$email', '$birthday')");
mysqli_close($con);
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的;
mysqli_query($con,"INSERT INTO subs (subs_name, subs_email, subs_birthday)
VALUES '$name', '$email', '$birthday'
ON DUPLICATE KEY UPDATE subs_name = VALUES($name), subs_birthday = VALUES($birthday)");
mysqli_close($con);
Run Code Online (Sandbox Code Playgroud)
和
mysqli_query($con,"IF EXISTS (SELECT * …Run Code Online (Sandbox Code Playgroud) 我有一个包含a,b和c列的数据框.我想在b和c之间添加一个新列d.我知道我可以通过使用cbind在最后添加d但是如何将它插入两列之间?
我创建了一个带有主键并启用的表AUTO_INCREMENT,如何使用MYSQL AUTO_INCREMENT?
CREATE TABLE IF NOT EXISTS test.authors (
hostcheck_id INT PRIMARY KEY AUTO_INCREMENT,
instance_id INT,
host_object_id INT,
check_type INT,
is_raw_check INT,
current_check_attempt INT,
max_check_attempts INT,
state INT,
state_type INT,
start_time datetime,
start_time_usec INT,
end_time datetime,
end_time_usec INT,
command_object_id INT,
command_args VARCHAR(25),
command_line VARCHAR(100),
timeout int,
early_timeout INT,
execution_time DEC(18,5),
latency DEC(18,3),
return_code INT,
output VARCHAR(50),
long_output VARCHAR(50),
perfdata VARCHAR(50)
);
Run Code Online (Sandbox Code Playgroud)
这是我使用的查询,我已尝试""和"1"作为第一个值,但它不起作用.
INSERT INTO test.authors VALUES ('1','1','67','0','0','1','10','0','1',
'2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','',
'/usr/local/nagios/libexec/check_ping 5','30','0','4.04159','0.102','1',
'PING WARNING -DUPLICATES FOUND! Packet …Run Code Online (Sandbox Code Playgroud) 我知道ON DUPLICATE KEY UPDATE如果已经存在该密钥的记录,您可以使用更新某个值,
我可以做这个:
INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE `a`=1, `b`=2, `c`=3
Run Code Online (Sandbox Code Playgroud)
但是,如何在不必写出两次列和值的情况下执行此操作?