Ich habe eine for-Schleife, in der ich in jedem Zyklus 5 Werte bekomme. Ich legte die CSV-Datei, aber die Datenanordnung ist nicht korrekt.CSV Daten Formatierung in einer linearen Weise
for (int i = 0, offset = 5; i < num_meters; i++, offset += 25)
{
float f_voltage, f_current, f_kw, f_kwh, f_freq, f_pf;
f_voltage = (float)Math.Round(System.BitConverter.ToSingle(my_app_msg.msg_data, (offset + 1)), 2); // voltage
f_current = (float)Math.Round(System.BitConverter.ToSingle(my_app_msg.msg_data, (offset + 5)), 5); // current
f_freq = (float)Math.Round(System.BitConverter.ToSingle(my_app_msg.msg_data, (offset + 9)), 5); // freq
f_pf = (float)Math.Round(System.BitConverter.ToSingle(my_app_msg.msg_data, (offset + 13)), 5); // pf
f_kw = (float)Math.Round(System.BitConverter.ToSingle(my_app_msg.msg_data, (offset + 17)), 2); // kw
f_kwh = (float)Math.Round(System.BitConverter.ToSingle(my_app_msg.msg_data, (offset + 21)), 2); // kwhr
//Store in CSV
vol2 = f_voltage.ToString();
Curr2 = f_current.ToString();
Feq2 = f_freq.ToString();
PF2 = f_pf.ToString();
power2 = f_kw.ToString();
energy2 = f_kwh.ToString();
DateTime time = DateTime.Now;
string Data = (time.ToString("u") + "," + power + "," + energy + "," + vol + "," + Curr + "," + Feq + "," + PF + "," + space + ",");
//Putting in CSV
using (StreamWriter sw = new StreamWriter(pathname + "MeterLogDataON_" + System.DateTime.Now.ToString("dd-MM-yyyy") + ".csv", true))
{
sw.WriteLine(Data + "\t");
}
}
Aber der Wert, den ich in CSV möchte, ist so.
VAlue1 VAlue1 VAlue1 VAlue1 VAlue1 | VAlue2 VAlue2 VAlue2 VAlue2 VAlue2 | VAlue3...so on.
aber ich vor Problem wie meine Daten auf diese Weise gespeichert ist
VAlue1 VAlue1 VAlue1 VAlue1 VAlue1
VAlue2 VAlue2 VAlue2 VAlue2 VAlue2
zeigen Sie den Code, der die Werte in der CSV tatsächlich schreibt. – Enigmativity
@Enigmatismus ich habe es über –
geschrieben Verwenden Sie 'Write()' anstelle von 'WriteLine()' –