Hi!, I am also working with this sensor. It was difficult because there's not much info about this in the internet (unless you are japanese) 
Here's my code, I hope it can help you. I connected a 20x4 LCD to the arduino, so it could print the 16 temperatures in a matrix. It works really nice...
#include <Wire.h>
#include <WireExt.h>
#include <LiquidCrystal.h>
//Pin config
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define D6T_addr 0x0A
#define D6T_cmd 0x4C
int rbuf[35];
int tdata[16];
float t_PTAT;
void setup()
{
Wire.begin();
Serial.begin(9600);
lcd.begin(20, 4);
pinMode(13, OUTPUT);
}
void loop()
{
int i;
Wire.beginTransmission(D6T_addr);
Wire.write(D6T_cmd);
Wire.endTransmission();
if (WireExt.beginReception(D6T_addr) >= 0) {
i = 0;
for (i = 0; i < 35; i++) {
rbuf[i] = WireExt.get_byte();
}
WireExt.endReception();
t_PTAT = (rbuf[0]+(rbuf[1]<<8))*0.1;
for (i = 0; i < 16; i++) {
tdata[i]=(rbuf[(i*2+2)]+(rbuf[(i*2+3)]<<8))*0.1;
}
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(tdata[0],1);
lcd.setCursor(5,0);
lcd.print(tdata[1],1);
lcd.setCursor(10,0);
lcd.print(tdata[2],1);
lcd.setCursor(15,0);
lcd.print(tdata[3],1);
lcd.setCursor(0,1);
lcd.print(tdata[4],1);
lcd.setCursor(5,1);
lcd.print(tdata[5],1);
lcd.setCursor(10,1);
lcd.print(tdata[6],1);
lcd.setCursor(15,1);
lcd.print(tdata[7],1);
lcd.setCursor(0,2);
lcd.print(tdata[8],1);
lcd.setCursor(5,2);
lcd.print(tdata[9],1);
lcd.setCursor(10,2);
lcd.print(tdata[10],1);
lcd.setCursor(15,2);
lcd.print(tdata[11],1);
lcd.setCursor(0, 3);
lcd.print(tdata[12],1);
lcd.setCursor(5,3);
lcd.print(tdata[13],1);
lcd.setCursor(10,3);
lcd.print(tdata[14],1);
lcd.setCursor(15,3);
lcd.print(tdata[15],1);
delay(100);
}
I had to install the <WireExt.h> library. I found it on a jap website, but I don't remeber exactly where, you have to install it due to the number of bytes this sensor works with. (The Wire.h library works with only 32 bytes, but this sensor works with 35 so that's why you need it)