【问题标题】:How to sort in table, data from csv file to textbox?如何在表格中排序,从csv文件到文本框的数据?
【发布时间】:2021-07-20 20:27:24
【问题描述】:

当我从 csv 文件中读取数据并将其写入我的文本框时,我得到以下结果:

26/04/2021 16:08:50;4248,461;4676,146;6283,319;2136,178;8924,607;8419,497;0;1,349;0;0;1,915;0; 1,819;2,386;236,5;229,4;237,9;8,17;6,12;7,75; 26/04/2021 16:08:51;4248,461;4676,146;6283,32;2136,178;8924,607;8419,498;0;1,374;0;0;1,912;0;1,825;2,363 ;236,6;229,3;237,9;8,16;6,23;7,77; 26/04/2021 16:08:52;4248,461;4676,146;6283,32;2136,178;8924,607;8419,498;0;1,344;0;0;1,91;0;1,812 ;2,379;236,6;229,4;238;8,15;6,1;7,72; 26/04/2021 16:08:53;4248,461;4676,146;6283,321;2136,178;8924,607;8419,499;0;1,374;0;0;1,898;0;1,808;2,332 ;236,5;229,3;237,9;8,1;6,23;7,7; 2021 年 4 月 26 日 16:08:54;4248,461;4676,146;6283,322;2136,178;8924,607;8419,5;0;1,385;0;0;1,899;0;1,813;2,327 ;236,6;229,4;238;8,1;6,27;7,72; 26/04/2021 16:08:55;4248,461;4676,146;6283,322;2136,178;8924,607;8419,5;0;1,397;0;0;1,9;0;1,774 ;2,277;236,8;229,3;238;8,1;6,32;7,56;

这是不清晰和可读的

如何将这些数据放在我的 TextBox 中一个很好的排序表中?

我在 de 文本框中打印数据的代码是:

'''private void Button_Click(object sender, RoutedEventArgs e) { 字符串文本 = File.ReadAllText(@"C:\Users\DellInspirion15\OneDrive\Documenten\SavedDataDigitaleTeller.csv", Encoding.UTF8); TxtBxDataLogger.Text = 文本; }'''

【问题讨论】:

  • 我已经看到了这个确切的问题。它怎么了?是你吗?
  • 文本框用于文本。表格不是文本,请使用简单的 CsvHelper 从该 csv 创建自定义对象列表,例如 joshclose.github.io/CsvHelper/examples/reading/… 。然后将其用作网格的数据源。网格是表格。 stackoverflow.com/questions/41093638/…
  • 已经关门了,但是我轮班工作,所以没看到这个。于是我又发了一遍。
  • 我去看看链接,谢谢
  • 好的,有没有办法用我从我的 csv 文件中获取的数据创建行,然后放入文本框中?不做桌子?例如,如果我从我的 csv 文件加载数据,我如何编程使文本可以在我的文本框中“打印”而没有“;”并使用'tab + | + 制表符?

标签: c# csv textbox


【解决方案1】:

我将数据放入数据表中。数据为 21 列,第一列为日期。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using System.Globalization;


namespace ConsoleApplication
{
    public class Program
    {
        const string FILENAME = @"c:\temp\test.txt";
        const int COLUMNS = 21;
        public static void Main(string[] args)
        {
            string input = File.ReadAllText(FILENAME);
            string[] rows = input.Split(new char[] { ';', '|'}).ToArray();

            DataTable dt = new DataTable();
            int rowCount = 0;
            int colCount = 0;
            Boolean headerRow = true;
            DataRow newRow = null;
            CultureInfo info = CultureInfo.GetCultureInfo("fr-BE");
            foreach (string row in rows)
            {
                string line = row.Trim();
                if (line.Length > 0)
                {
                    colCount = rowCount % COLUMNS;
                    if (headerRow)
                    {
                        switch (colCount)
                        {
                            case 0:
                                dt.Columns.Add(line, typeof(DateTime));
                                break;
                            default:
                                dt.Columns.Add(line, typeof(decimal));
                                break;
                        }
                        if (colCount == COLUMNS - 1)
                            headerRow = false;
                    }
                    else
                    {
                        if (colCount == 0)
                        {
                            newRow = dt.Rows.Add();
                            colCount = 0;
                            newRow[colCount] = DateTime.Parse(line, info);
                        }
                        else
                        {
                            newRow[colCount] = decimal.Parse(line, info);
                        }
                    }
                    rowCount++;
                }
            }
        }
    }
}

【讨论】:

  • 让我们试一试 ;-) 谢谢!
  • 您可以在 DGV 中显示。 datagridview1.DataSource = dt;
  • 嗨 jdweng,我收到一个错误(System.FormatException:'输入字符串的格式不正确。')此时:else { newRow[colCount++] = decimal.Parse(line, info ); }
  • 哪个国家?数字中的逗号是小数点还是分隔符?你知道数据是什么样的吗?您可以在两个地方删除“信息”以使用您的国家文化。 1) CultureInfo 信息 = CultureInfo.GetCultureInfo("de-de"); 2)从解析(线,信息);解析(行);
  • 比利时 - 我已经在代码中更改了它。逗号 isis 像 ',' 一样使用;在 csv 文件中它是 al ','。我将通过删除“信息”来尝试一下。
猜你喜欢
  • 2016-11-10
  • 2019-06-20
  • 2022-01-15
  • 1970-01-01
  • 2021-12-27
  • 2017-07-05
  • 1970-01-01
  • 2020-07-05
  • 2012-07-29
相关资源
最近更新 更多