【问题标题】:Automatically convert csv file into Excel table?自动将csv文件转换成Excel表格?
【发布时间】:2016-03-07 19:08:00
【问题描述】:

我使用脚本生成了一些 csv 文件。接下来,我使用 excel 中的导入向导手动将这些 csv 文件转换为 excel 表,基于:

https://www.youtube.com/watch?v=z5Pxil4jVO4

是否可以自动执行此操作 - 例如通过从命令行调用 excel 导入器 - 所以我不需要打开 excel 并完成所有手动工作?

我可以直接在 Excel 中打开 csv 文件,但它没有格式化为表格。例如。这个 csv 文件:

a,b,c
a,b,c

此 Excel 工作表中的结果:

我希望每个字母都在一个单独的列中。

我看过这个:

https://social.technet.microsoft.com/Forums/windowsserver/en-US/370ee470-f2cd-4f30-a167-b106dd51d47a/powershell-convert-csv-to-xlsx?forum=winserverpowershell

但是创建一个简单的表需要大量的样板代码。

【问题讨论】:

  • 可以将 csv 扩展名直接链接到 Excel,然后在 Excel 中打开 csv 文件。然后 Excel 将尝试自行执行转换器(如果不成功,它将在工作表中将 te csv 文件中的所有行显示为单独的行,但它们当然可以转换)成功取决于 Excel 是否能够解释csv 文件正确。列表分隔符和文本指示符之类的东西很重要。 Excel 文件是您需要的最终结果吗?您也许可以直接编写 Excel 脚本。
  • 你熟悉 Python 吗?然后,您可以编写一个脚本来读取 csv 文件并直接写入 xlsx 文件。
  • 数据 ► 获取外部数据 ► 从文本 ► 分隔 ► 逗号 ► 完成。您计算机的系统区域设置似乎没有使用逗号作为标准列表分隔符。
  • 嗯,我该如何更改,这样我就不必每次都在 excel 中更改它?

标签: excel csv


【解决方案1】:

在您的 CSV 文件中添加一个额外的行来告诉 Excel 分隔符是什么。将以下行添加到 CSV 文件的顶部:

sep=,

【讨论】:

  • 优秀而简单
  • 这就是最佳解决方案。易于为开发人员添加,无需为在 Excel 中处理 CSV 的用户付出额外的努力。
【解决方案2】:

最简单的方法,无需关闭和编辑文件 - 您可以在 Excel 2010-2016 中选择所需的分隔符,转到 DATA、Text To Columns,选择 Delimited,然后选择您的分隔符 Comma(或其他),您将看到在“数据预览”中立即更改,然后单击完成。 获得所需格式后,您只需保存文档即可永久保存。

【讨论】:

    猜你喜欢
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2021-10-15
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    相关资源
    最近更新 更多