package pp;
import java.io.*;
import java.io.IOException;
import java.io.InputStreamReader;
public class pro {
String[] data=new String[100000];
String[] datax=new String[400000];
int s,datanumber;
String[] subdata=new String[50000];
String[] code=new String[60000];
String[] subcode=new String[60000];
String[] title=new String[60000];
String[] sta=new String[100000];
int[] year=new int[60000];
int[] month=new int[60000];
int[] day=new int[60000];
String[] time=new String[100000];
int number;
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readx("rate.csv");
for(s=1;s<datanumber;s++){
String[] x3=data[s+1].split(",");
if(x3[1].indexOf("TBS")>-1)sta[s]="tbs";
if(x3[1].indexOf("NHK")>-1)sta[s]="nhk";
if(x3[1].indexOf("朝日")>-1)sta[s]="ex";
if(x3[1].indexOf("日本")>-1)sta[s]="ntv";
if(x3[1].indexOf("東京")>-1)sta[s]="tx";
if(x3[1].indexOf("フジ")>-1)sta[s]="cx";
String[] x4=x3[2].split("/");
int p1=x4[2].indexOf("(");
x4[2]=x4[2].substring(0,p1);
year[s]=num_int(x4[0])+2000;
month[s]=num_int(x4[1]);
day[s]=num_int(x4[2]);
time[s]=x3[3];
p1=time[s].indexOf("-");
time[s]=time[s].substring(0,p1);
title[s]=x3[0];
}
number=datanumber-1;
int tr,tx;
tx=1;
for(tr=2013;tr<2017;tr++){
readx(tr+".csv");
for(s=1;s<datanumber;s++){
tx=tx+1;
datax[tx]=data[s+1];
}
}
datanumber=tx;
int trs;
for(trs=1;trs<number+1;trs++){
int de=count(time[trs]);
System.out.println(trs);
int sx=0;
for(s=1;s<datanumber;s++){
String[] x=datax[s+1].split(",");
int y1=num_int(x[0]);
int m1=num_int(x[1]);
int d1=num_int(x[2]);
String stap=x[5];
int h=0;
if(y1==year[trs])h=h+1;
if(m1==month[trs])h=h+1;
if(d1==day[trs])h=h+1;
if(stap.equals(sta[trs]))h=h+1;
if(h==4)sx=sx+1;
if(h==4)subdata[sx]=datax[s+1];
}
int number=sx;
double minx=9999999;
int sxs=0;
for(s=1;s<number+1;s++){
String[] x=subdata[s].split(",");
int c=count(x[3]);
double zz=(c-de)*(c-de);
zz=Math.sqrt(zz);
if(zz<minx)sxs=s;
if(zz<minx)minx=zz;
}
String[] x1=subdata[sxs].split(",");
code[trs]=x1[6];
subcode[trs]=x1[7];
}
writexml("code.csv");
}
void writexml(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
for(s=1;s<number+1;s++){
pw.println(title[s]+","+code[s]+","+subcode[s]);
}
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
int count(String tt){
String[] x2=tt.split(":");
int yy=num_int(x2[0]);
int mm=num_int(x2[1]);
return 60*yy+mm;
}
int num_int(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
void readx(String file){
String str;
BufferedReader br;
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2017年08月16日 02:55