2017-11-12 23 views
0

내 데이터를 쓰고 읽어야하는 CSV 형식의 파일로 CPLEX를 연결하려고합니다.DBConnection을 사용하여 CPLEX에 CSV 연결

나는 내가 제대로이 같은 폴더 "provacsv"에서 CSV 파일을 연결 생각 : 나는 두 값의 열 심지어 같은 간단한 데이터를 읽을 수 없습니다 그러나

DBConnection db("odbc","DRIVER={Microsoft Access Text Driver (*.txt, *.csv)}; DBQ=C:\\Users\\Giovanni\\opl\\provacsv"); 

.

c from DBRead(db,"SELECT c FROM cb.csv"); 
b from DBRead(db,"SELECT b FROM cb.csv"); 
A from DBRead(db,"SELECT * FROM A.csv"); // A is a matrix of values (like 2X2 matrix) 

나는 또한 같은 내 파일의 출력을 작성하려합니다 : 읽기 CSV를 들어

x to DBWrite(db,"WRITE x TO x.csv"); 

답변

-2

당신은 IloOplInputFile을 사용해야합니다

나는 다음과 같은 구문을 사용하고 있습니다

이 export.cvs 파일이 있다고 가정하십시오.

Nicolas;2; 
Alexander;3; 

그럼 당신은 쓸 수 CSV 파일을 읽고 튜플 세트의 계산됩니다

tuple t 
{ 
string firstname; 
int number; 
} 

{t} s={}; 

execute 
{ 
var f=new IloOplInputFile("export.csv"); 
while (!f.eof) 
{ 
var str=f.readline(); 
//writeln(str); 
var ar=str.split(";"); 
if (ar.length==3) s.add(ar[0],Opl.intValue(ar[1])); 
} 
f.close(); 
} 

execute 
{ 
writeln(s); 
} 

:

{<"Nicolas" 2> <"Alexander" 3>} 

및 쓰기

tuple t 
{ 
string firstname; 
int number; 
} 

{t} s={<"Nicolas",2>,<"Alexander",3>}; 

execute 
{ 
var f=new IloOplOutputFile("export.csv"); 
for(var i in s) 
{ 
f.writeln(i.firstname,";",i.number,";"); 
} 
f.close(); 
} 

에 대한 파일의 한 Export.csv를 기록

Nicolas;2; 
Alexander;3; 

이것은 또한

https://www.ibm.com/developerworks/community/forums/html/topic?id=538340b3-3e1a-4951-bed3-48cac63e7c29&ps=25

https://www.ibm.com/developerworks/community/forums/html/threadTopic?id=3fd44d41-210b-4b81-a005-819530d6377b&ps=25

관련

0

확인 기본적으로 ODBC 드라이버를 사용하여 아래로 비등이 example from IBM Support에서 읽을 수 있습니다. Microsoft Access. *.dat 파일에이 코드를 넣어 :

DBConnection db("odbc","DRIVER={Microsoft Access Text Driver (*.txt, *.csv)}; DBQ=.\\data"); 
Gasolines,Gas from DBRead(db,"SELECT name,name,demand,price,octane,lead FROM GasData.csv"); 
Oils,Oil from DBRead(db,"SELECT name,name,capacity,price,octane,lead FROM OilData.csv"); 
MaxProduction = 14000; 
ProdCost = 4; 

을 다음 하위 폴더에 당신이 당신의 *.csv 파일을 넣어야 할 .\data. 호환되는 Access 드라이버를 사용해 보았는데 요소가 정의되지 않았다는 오류가 발생했습니다. 그러나 최소한 공식적인 IBM 예제에서이를 수행하는 공식적인 방법입니다.