获取pyarrow.lib.arrow无效:CSV分析错误:应为9列,获取1列

获取pyarrow.lib.arrow无效:CSV分析错误:应为9列,获取1列,csv,pyarrow,Csv,Pyarrow,所以我第一次尝试ApacheArrow,希望将整个txt文件目录读入pyarrow数据结构。我越来越 pyarrow.lib.ArrowInvalid: CSV parse error: Expected 9 columns, got 1 当我运行下面的代码时?不知道如何调试这个。谢谢你的帮助。如果有一本书介绍python和pyarrow,我也很乐意阅读 import pyarrow.csv as csv import pyarrow as pa l_all_files = [

所以我第一次尝试ApacheArrow,希望将整个txt文件目录读入pyarrow数据结构。我越来越


pyarrow.lib.ArrowInvalid: CSV parse error: Expected 9 columns, got 1

当我运行下面的代码时?不知道如何调试这个。谢谢你的帮助。如果有一本书介绍python和pyarrow,我也很乐意阅读


import pyarrow.csv as csv

import pyarrow as pa  


l_all_files = ['x08.txt', 'x21.txt', 'x108.txt']

read_options = csv.ReadOptions( column_names= ('Sol' , 'H20', 'H50', 'H100',  'Date', 'Cv', 'Dys', 'Ple' , 'Cl') ,  skip_rows=26)


df_arrow_all = pa.concat_tables(( csv.read_csv(current_filename,read_options=read_options, ) for current_filename in l_all_files))  

完成skip_rows=26时,这就是该行的外观


$sss        3431    3232    3249  25523  35.66    57  56le   77.73

csv文件的格式是否正确?第一行有逗号吗?是否引用了整个标题行?hi@Mike67更新了问题以显示示例行。我认为csv.read_csv足够聪明,可以处理空格分隔而不是逗号分隔。我还认为,通过提供列名,文件中不需要标题,数据中没有逗号。它可能读作单列。尝试
df_arrow_all=pa.concat_表格((csv.read_csv(当前_文件名,read_options=read_options,parse_options=csv.ParseOptions(分隔符='\t'),用于l_all_文件中的当前_文件名))
我同意它将其作为一列读取。使用delim_whitespace=True对其运行pandas效果很好,但似乎无法在pyarrow中执行相同的操作。我没有看到pyarrow的whitepsace选项:。您可能需要使用csv模块加载并重新保存数据,以便该文件具有逗号。