Вы должны назначить его на df2
.
df2 = df2[df2.State != 'INDIA']
Подробнее об этом читайте в Как удалить строки во фрейме данных? .
Это взяло меня некоторое время, чтобы выяснить, как заставить все это работать, таким образом, вот результат моих расследований:
код c#:
ORAUtils.execString(@"c:\tmp.sql 'Oracle sucks!'");
...
using System.Diagnostics; -- where the Process stuff lives
...
public static int execString(string scriptFileName)
{
...
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = "sqlplus.exe";
processInfo.Arguments = "user/pwd@db @" + scriptFileName;
...
Process process = Process.Start(processInfo); // typo in code above small p instead of caps helps
...
Получающаяся командная строка:
sqlplus.exe user/pwd@db @c:\tmp.sql 'Oracle сосет!'
Ввести sqlplus/? в подсказке DOS и Вы получите синтаксис:
sqlplus
Здесь logon=user/pwd@db и запускаются = c:\tmp.sql 'Oracle, сосет!'
Это запустит sql файл и передаст его строка параметров.
tmp.sql первая строка:
подсказка &1
отобразит строку параметров.
Спасибо
Можно сделать это в C# с этой частью кода:
public int execString(string scriptFileName)
{
int exitCode;
ProcessStartInfo processInfo;
Process process;
int timeout = 5000;
processInfo = new ProcessStartInfo("sqlplus.exe", "@" + scriptFileName);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
process = process.Start(ProcessInfo);
process.WaitForExit(timeout);
exitCode = process.ExitCode;
process.Close();
return exitCode;
}
В VB.NET Вы могли выполнить ту же самую вещь, с помощью того же API в платформе, но я не знаю много о синтаксисе VB.NET.
Вы могли также попытаться осмотреть SQL/Plus DLLs и видеть, можно ли вытащить что-то из них. Но я думаю, что даже при том, что это должно быть более быстрое (мудрая производительность) подход, это будет путь, более сложный, чем использование, что я предлагаю.