[英]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.