此处非dev试图清除日期格式。寻找对承包商创建的C#代码的检查。
这是新代码,用于将JSON对象转换为CSV格式。承包商使用了Newtonsoft和Newtonsoft.Linq,还使用了CSVhelper函数。
string webData = System.Text.Encoding.UTF8.GetString(raw);
var records = JsonConvert.DeserializeObject<IList<JournalImport>>(webData, new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });
using (var writer = new System.IO.StreamWriter(journalsCsvSFD.OpenFile()))
using (var csv = new CsvHelper.CsvWriter(writer))
我当前的CSV输出为“ 26/06/2019 12:18:56”。
想要的预期结果是“ 26/06/2019”
答案 0 :(得分:0)
让Excel在导入时正确格式化格式是很棘手的。您可以告诉它做一件事,它将做完全不同的事情。无论如何,突出显示整个时间列,右键单击->设置单元格格式。在“数字”标签下,而不是转到“时间”类别,请尝试转到“自定义”类别,我想您将能够找到自己想要的东西。
答案 1 :(得分:0)
CsvHelper允许您创建自定义类型转换器。因此,您可以为DateTime进行设置,并根据需要设置其格式。
void Main()
{
string webData = "[{\"date\":\"01/01/2018\",\"name\":\"toto\"}]";
var records = JsonConvert.DeserializeObject<IList<JournalImport>>(webData, new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });
using (var writer = new System.IO.StreamWriter(File.Create(@"toto.csv")))
using (var csv = new CsvHelper.CsvWriter(writer))
{
csv.Configuration.TypeConverterCache.AddConverter<DateTime>(new DateTimeCOnverter());
csv.WriteRecords(records);
}
}
public class JournalImport
{
public DateTime Date { get; set; }
public string Name { get; set; }
}
public class DateTimeCOnverter : ITypeConverter
{
public object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
{
throw new NotImplementedException();
}
public string ConvertToString(object value, IWriterRow row, MemberMapData memberMapData)
{
if (value is DateTime date)
{
return date.ToString("dd/MM/yyyy");
}
return value?.ToString();
}
}
答案 2 :(得分:0)
您可以添加格式设置选项。
!ls /content/gdrive/My\ Drive/Colab\ Notebooks/Omdena_Mars_Anomaly_Detection/*.py
!cat /content/gdrive/My\ Drive/Colab\ Notebooks/Omdena_Mars_Anomaly_Detection/clusterer.py
import sys
sys.path.append('/content/gdrive/My\ Drive/Colab\ Notebooks/Omdena_Mars_Anomaly_Detection')
import clusterer