【问题标题】:Data missing when importing a text file into excel将文本文件导入excel时数据丢失
【发布时间】:2022-01-18 19:41:33
【问题描述】:

我正在尝试将 csv 数据的文本文件导入 excel。数据主要包含整数,但有一列包含字符串。我正在使用 excel Professional plus 2019 的“数据”选项卡。但是,当我选择逗号作为分隔符时,我会丢失 16 列中的 5 列,从包含字符串的列开始。数据如下所示。日期和 7 个数字在它们自己的列中(只是空格分隔)。任何人都可以帮助或解释非常感谢

2143, Wed, 6,Jul,2016, 38,20,03,39,01,24,04,   2198488,    0,  Lancelot  ,  6 

Before after

完整数据在https://github.com/CH220/textfileforexcel

【问题讨论】:

  • 你的两个屏幕截图都是一样的...你能确认一下你丢失了哪些列吗?我们应该假设“Wed”是第一个字符串吗?
  • Excel 对从 CSV 导入的格式可能非常特别,通常最好的格式取决于您在 Windows 中的区域设置。我正在使用 da-DK,并且导入到 excel 在您的示例中完美运行。
  • 抱歉 cbernetic nomad 我刚刚更新了它。它减少到 11 列。 MyICQ-请问da-DK是什么?
  • 您的第一个屏幕截图看起来不像来自文本文件。如果您将输入数据发布为 text 作为对问题的编辑,会更有帮助。
  • 嗨 Ron,所以屏幕截图都来自 excel 中的导入数据屏幕。即一旦我选择了要导入的文本文件

标签: excel csv import missing-data


【解决方案1】:

您的问题源于文本文件中的第一行数据:

40,03,52,02,07,20,14,  13137760,    1,  Lancelot  ,  7 

如您所见,只有十一个“段”。因此,当您尝试使用导入对话框以逗号分隔时,即使后续行有 16 列,也只有 11 列。

可能的解决方案:

  • 更正文本文件,使第一行具有所需的段数
  • 将导入对话框更改为逗号,然后
    • 变换
    • 编辑生成的 M 代码的第二行,将 Columns=11 更改为 Columns=16。您可以在高级编辑器中执行此操作
    Source = Csv.Document(File.Contents("C:\Users\ron\Desktop\new 2.txt"),[Delimiter=",", Columns=16, Encoding=1252]),
  • Fixed Width“参数”从0,23 => 0
    • 变换
    • 在 Power Query 中按分隔符(使用逗号)拆分列。

对我来说,“最好”的方法是更正文本文件。

【讨论】:

  • 知道这很简单 :) 谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 2020-09-27
  • 1970-01-01
  • 2010-11-17
  • 2015-11-15
  • 1970-01-01
相关资源
最近更新 更多