我有一个文本文件,其格式如下:
+------------+-----------------+--------------+-----------+
| Field Name | Starting Column | Field Length | Data Type |
+------------+-----------------+--------------+-----------+
| ID | 1 | 12 | A |
| DATE | 13 | 8 | Date |
| NAME | 21 | 80 | A |
| ADDRESS | 101 | 12 | A |
| ... | ... | ... | ... |
+------------+-----------------+--------------+-----------+
我们在这里可以看到"起始栏"是列开头的索引。因此,起始列与字段长度相结合,可以得出每列应该具有的最大大小。
我一直在使用Fixed Width
选项,似乎有点工作,但我得到了这些奇怪的黑盒子似乎正在改变一切。
答案 0 :(得分:2)
在尝试建议的解决方案并执行more research之后,我找到this线程,这导致我在平面文件连接管理器中尝试6
选项,这解决了我的问题。这两个黑色字符确实是@Jacob H建议的换行符(LF-ASCII字符10)和回车符(CR-ASCII字符13)字符。
注意:我还必须在末尾添加一个名为ragged right
的列。这是因为否则,它不允许我添加最终列的数据长度信息。
我希望将来帮助其他人,Ignore
不是很直观。
答案 1 :(得分:1)
这两个黑色字符是换行符(LF-ASCII字符10)和回车符(CR-ASCII字符13)字符,表示每行的结尾。
您会注意到屏幕截图中的每一行都移动了2个点。随后的行移动了2个额外的点。第2行移位4,第3行移位6,等等。由于SQL将这些字符计入您的固定宽度,因此您的行累计缩短了2个。
要解决此问题,请将红色行尾行两个字符移到左侧。您还需要调整最终列宽以匹配规范。