我正在尝试加载一个csv文件,但出现以下错误,但我不确定如何执行:
CSV表引用列的位置为18,但从位置:1057924150开始的行仅包含18列。
调试此问题的最佳方法是什么?我尝试在python中打开它,然后执行以下操作:
file_data[1057924150 - 20 : 1057924150 + 20]
但是看来这并不能使我到达正确的位置。 最简单的方法是查看BQ给出错误的行(或至少在其错误消息中进行引用)?
答案 0 :(得分:0)
您可以根据分隔符的数量(不满足所需的列数)提取记录。
让我们假设您的文件和BQ表总共有20列,但是文件中的一条记录只有18列,这将使作业失败。我们可以使用awk搜索此类记录。 (假设您的文件位于Cloud Shell中)。
awk -F',' 'NF==18' file.csv
如果您的文件很大,并且可能会有更多错误的记录,请按照以下说明将记录写入文件,然后进行分析:
awk -F',' 'NF==18' file.csv >> erroneousfile.csv