删除.csv-column而不丢失格式

时间:2017-11-03 08:59:59

标签: excel csv unix utf-8

我的文件格式为 Unix(LF),UTF-8-BOM 。它在每列上都有引号:

enter image description here

现在我要删除最后一列。如果我将excel文件保存为.csv,则格式为 Windows(CR LF),ANSI 。它丢失了引号:

enter image description here

我写了一个简短的C#代码,用StreamReader / StreamWriter手动删除最后一列,但输出格式也是 Windows(CR LF)UTF-8 。奇怪的是,它还会失去一些线条。

string newFilename = tboxFile.Text.Split(new string[] { ".csv" }, StringSplitOptions.None)[0] + "_replaced123.csv";

StreamReader streamReader = new StreamReader(tboxFile.Text);
StreamWriter streamWriter = new StreamWriter(newFilename);

string line = streamReader.ReadLine();
streamWriter.WriteLine(line.Split(new string[] { ";\"@timestamp\"" }, StringSplitOptions.None)[0]);

while ((line = streamReader.ReadLine()) != null)
    streamWriter.WriteLine(line.Split(new string[] { ";\"2017-11-" }, StringSplitOptions.None)[0]);

那么..是否有一个特殊的excel技巧以相同的格式保存输出(Unix LF UTF-8-BOM)或者我该如何帮助我?

1 个答案:

答案 0 :(得分:1)

就像我上面的评论所说,当你在csv文件上执行另存为时,LibreOffice的电子表格工具会调整过滤器设置。

要到达此处,请选中“另存为”对话框中的“编辑过滤器设置”框。按下保存按钮后,将显示“Textexport”对话框,您可以在其中选择文本编解码器等。