You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中将文本文件多行合并为DataTable的单行记录?

实现文本块合并并写入DataTable的方案

核心步骤

  • 读取并分割内容块:先读取整个文本文件内容,以连续两个换行符作为分隔符,将文本拆分为独立的内容块,同时过滤掉空的无效块。
  • 合并块内多行内容:对每个内容块,将其中的多行文本用空格(或你需要的分隔符)拼接成单行,保留原内容的顺序。
  • 填充DataTable:创建DataTable并添加对应列,将每个合并后的单行内容作为一行数据存入表中。

C# 代码示例

using System;
using System.Data;
using System.IO;
using System.Linq;

class Program
{
    static void Main()
    {
        // 读取文本文件内容
        string textContent = File.ReadAllText("your-file-path.txt");
        
        // 分割内容块:兼容Windows(\r\n\r\n)和Linux(\n\n)换行符
        string[] contentBlocks = textContent.Split(new[] { "\r\n\r\n", "\n\n" }, StringSplitOptions.RemoveEmptyEntries);
        
        // 创建DataTable并添加列
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("MergedContent", typeof(string));
        
        // 处理每个块并填充DataTable
        foreach (string block in contentBlocks)
        {
            // 将块内多行合并为一行,去除块内多余空行
            string mergedLine = string.Join(" ", block.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries));
            dataTable.Rows.Add(mergedLine);
        }
        
        // 验证结果(可选)
        foreach (DataRow row in dataTable.Rows)
        {
            Console.WriteLine(row["MergedContent"]);
        }
    }
}

注意事项

  • 如果需要用其他分隔符(比如逗号、制表符)代替空格合并行,只需修改string.Join的第一个参数即可。
  • 若文本文件存在特殊换行格式,可调整Split方法中的分隔符数组来适配。
  • 大文件场景下,建议改用逐行读取的方式处理,避免一次性加载全部内容占用过多内存。

内容的提问来源于stack exchange,提问作者Brian Crist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:58:17