![](/img/trans.png)
[英]Unable to skip reading few lines in pandas read_csv() function
[英]Pandas: Skip an arbitrary number of lines in read_csv() before making data frame
我有一個看起來像這樣的文件:
##bunch of lines
##lines, lines and more lines
##lines
#Chr field1 field2 field3
我寫:
import pandas as pd
df = pd.read_csv(file_name)
我得到了錯誤
Error tokenising data: Expected 1 field in line 2, saw 2
我理解這個錯誤,它在第二行看到一個逗號,但在第一行沒有看到。 無論我使用什么定界符,我總是會得到這樣的錯誤,因為 header 行中的某些行(帶有 ## 的行)有制表符、逗號等。
我實際上想刪除所有以 ## 開頭的行(它是一個.vcf 文件),我只想在帶有 #Chr 的行開始解析(即我希望文件的 rest 成為數據框,其中 #Chr field1 field2 field3 行是 header,它下面的所有內容都是數據框)。
我知道您可以使用skiprows
跳過 pandas 中的行,但我的問題是我讀入的每個文件都會跳過不同數量的 ## 行。
有誰知道用 pandas 讀取 csv 的方法,我可以說“跳過所有以## 開頭的行,然后從帶有 #Chr 的行開始 dataframe 並將該行設為 header?
pd.read_csv()
提供了一個on_bad_lines
參數,應該可以解決您的問題
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.