hardtoking
hardtoking
2017-02-01 07:39
采纳率: 31.4%
浏览 4.0k

C#修改CSV文件,和将数组存入到CSV

最近想写一个处理淘宝助理导出的CSV文件,不过从网上找了很多,感觉都不太理想
求大牛给一个完整的解决方案
要求:
1,能把数组中的元素导入到CSV文件中的一列,可以放入多个列
2,把对已存在的CSV文件中的内容进行修改

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳

    修改csv唯一的办法是读取全部数据到list,然后修改,再循环写回去。因为文本文件是不能随机修改的。
    在C#中用File.ReadAllLines读取文件,split后装入数组,然后你想怎么处理怎么处理,用File.WriteAllLines写回。

    点赞 2 评论
  • caozhy
     这个简单
    var lines = File.ReadAllLines("c:\\path\\filename.csv").ToList();
    for (int i = 1; i < lines.Count; i++)
    {
    lines[i] = string.Join("\t", lines[i].Split('\t').Select((x, j) => j == 2 ? "1111" :  x));
    }
    File.WriteAllLines("c:\\path\\result.csv", lines);
    
    
    点赞 1 评论
  • hardtoking
    hardtoking 2017-02-02 10:22

    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    aaaa bbbb cccc ddd eee ffff
    像这种格式的一个CSV文件 tab分隔
    我想把第三列从第二行开始的所有内容替换成“1111”

    点赞 评论

相关推荐