Предположим, у меня есть следующий CSV-файл: [code]Column1,Column2,Column3 C,3,1 B,2,2 A,3,3 C,3,10 B,2,20 A,2,30 C,3,100 B,1,200 A,1,300 [/code] Я хочу отсортировать [list] [*]Сначала по столбцу 1 [*]Второ по Столбец 2 [*]Третий по столбцу 3 [/list] Итак, результат должен быть следующим: [code]Column1,Column2,Column3 A,1,300 A,2,30 A,3,3 B,1,200 B,2,2 B,2,20 C,3,1 C,3,10 C,3,100 [/code] Для сортировки CSV по столбцам в порядке возрастания/убывания я создал следующий класс: [code]using System; using System.Collections.Generic; using System.IO; using System.Linq;
namespace SikorskiLibMemoryLess { public enum SortTypeEnum { Ascending, Descending }
public static class ListExtensions { public static string ToCommaSeparatedString(this List list) { if (list == null || !list.Any()) { return string.Empty; }
return string.Join(",", list); } }
public class CSVSorter { public List Header { get; private set; } public List Data { get; private set; }
public CSVSorter() { Data = new List(); }
public void LoadCSV(string filePath, bool hasHeader = true) { using (StreamReader sr = new StreamReader(filePath)) { string line; bool isFirstLine = true;
while ((line = sr.ReadLine()) != null) { List columns = line.Split(',').Select(col => string.IsNullOrWhiteSpace(col) ? null : col).ToList();
public IEnumerable Get() { yield return Header; foreach (var row in Data) { yield return row; } }
public void SaveCSV(string filePath) { using (StreamWriter sw = new StreamWriter(filePath)) { // Write the header sw.WriteLine(string.Join(",", Header));
// Write the data rows foreach (var row in Data) { sw.WriteLine(string.Join(",", row.Select(col => col ?? ""))); } } }
class Program { static void Main() { // Example usage for CSV with potential missing data CSVSorter sorter = new CSVSorter(); sorter.LoadCSV(@"C:\git\rouse_data~~\[PENULTIMATE]\OUTPUT_CSV\input.csv", true); // Adjust path as needed sorter.Sort(new int[] { 0,1,2 }, SortTypeEnum.Ascending); // Sort by the second column (e.g., particleVolume) in ascending order sorter.SaveCSV(@"C:\git\rouse_data~~\[PENULTIMATE]\OUTPUT_CSV\sorted___input.csv");
// Display sorted data foreach (var row in sorter.Get()) { Console.WriteLine(string.Join(", ", row)); } } } } [/code] Этот класс не дает желаемого результата. [code]Column1,Column2,Column3 C,3,1 B,2,2 A,3,3 C,3,10 B,2,20 A,2,30 C,3,100 B,1,200 A,1,300 [/code] Существует ли какая-либо библиотека с открытым исходным кодом для сортировки данных CSV по столбцам?
Мне очень трудно, и я не знаю, как решить эту проблему. Моя проблема в том, что я перебираю множество файлов из папки. Для каждого файла существует множество тегов XML, которые рассматриваются как список. Мне нужен вывод ниже в Excel с...
Я хочу выполнить операцию, при которой значения столбца распределяются по новым столбцам на основе тех же значений в другом столбце. См. пример ниже
import pandas as pd
pd.DataFrame({'A': , 'B': })
Недавно я работал над улучшением наших теней в игре, пытаясь исправить несколько проблем с самозатенением и неровными краями. Одним из улучшений, которые я попытался добавить, является PCF, чтобы сделать наши тени менее блочными. Однако при попытке...
У меня есть библиотека с несколькими глобальными картами:
в заголовке (header0):
extern std::map AVPixelFormatMap;
extern std::map AVMediaTypeMap;
extern std::map AVCodecIDMap;
в cpp (cpp0):
std::map AVPixelFormatMap
{
{AV_PIX_FMT_NONE,...
Я новичок в Django, и я вижу желтые линии под всем, что я включаю из Django, например, модели импорта django.db. Я вижу желтые линии в Django.db, а модель также в app.djando. Во всех импортированных материалах Django Еда работает нормально, но...