繁体   English   中英

使用 Pandas 读取在列标题上方和文件底部具有非分隔文本和空行的 csv

[英]Read a csv that has non delimited text and blank lines above column headers and the bottom of the file using Pandas

我正在尝试使用 Pandas read_csv 读取管道分隔文件。 但是,文件可能会或可能不会在文件顶部或底部带有非分隔文本。

我试过了:

pd.read_csv('file_sample.csv', sep='|', error_bad_lines=True)

但是,这不起作用。

我知道我可以使用 csv 库读取文件并逐行读取以确认该行有效。 不幸的是,我需要一个非循环解决方案,最好使用 Pandas。 感谢您的帮助

(60084 row(s) affected)



(30723 row(s) affected)


(41701 row(s) affected)



(171209 row(s) affected)

(17348 row(s) affected)


ProductId|ModelId|ProgramId|BranchId|AdvisorId|TotalAssets|NewAssets|AdditionAssets|ConversionNewAssets|TerminatedAssets
102abc|1|100|xyz|vbd|100|1900|0|10|0
103abc|1|100|xyz|vbd|150|1905|0|10|0
104abc|1|100|xyz|vbd|200|1910|0|10|0
102abc|1|100|xyz|vbd|250|1915|0|10|0
103abc|1|100|xyz|vbd|300|1920|0|10|0
104abc|1|100|xyz|vbd|350|1925|0|10|0
102abc|1|100|xyz|vbd|400|1930|0|10|0
103abc|1|100|xyz|vbd|450|1935|0|10|0

(1648248 row(s) affected)
  • comment = '('它忽略以(开头的行并将其视为注释。
  • skip_blank_lines = True默认情况下忽略空白行。 由于skip_blank_lines默认值为True

在这里看到更多的可选参数在这里

>>> df = pd.read_csv('file_sample.csv', sep='|', comment='(')
>>> df
  ProductId  ModelId  ...  ConversionNewAssets TerminatedAssets
0    102abc        1  ...                   10                0
1    103abc        1  ...                   10                0
2    104abc        1  ...                   10                0
3    102abc        1  ...                   10                0
4    103abc        1  ...                   10                0
5    104abc        1  ...                   10                0
6    102abc        1  ...                   10                0
7    103abc        1  ...                   10                0

[8 rows x 10 columns]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM