我正在嘗試在 Python 中讀取一個 CSV 檔案,但出現了一些錯誤。我認為這個特定的 CSV 檔案有問題,因為它可以與我嘗試過的其他檔案一起使用。這是代碼
import pandas as pd
import numpy as np
def execute():
tabel = pd.read_csv("FoodV.csv", index_col=0)
print(tabel, type(tabel))
if __name__ == "__main__":
execute()
這些是錯誤
File "pandas/_libs/parsers.pyx", line 801, in pandas._libs.parsers.TextReader.read_low_memory
File "pandas/_libs/parsers.pyx", line 857, in pandas._libs.parsers.TextReader._read_rows
File "pandas/_libs/parsers.pyx", line 843, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas/_libs/parsers.pyx", line 1925, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 11 fields in line 3, saw 14 File "pandas/_libs/parsers.pyx", line 801, in pandas._libs.parsers.TextReader.read_low_memory
File "pandas/_libs/parsers.pyx", line 857, in pandas._libs.parsers.TextReader._read_rows
File "pandas/_libs/parsers.pyx", line 843, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas/_libs/parsers.pyx", line 1925, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 11 fields in line 3, saw 14
你能幫忙嗎?
uj5u.com熱心網友回復:
錯誤訊息中解釋了該問題:
Expected 11 fields in line 3, saw 14
您可能在第 3 行有太多逗號(或者在前幾行中缺少一些逗號。)似乎要使 CSV 作業,您需要為每一行提供相同數量的列,因此它可以將其轉換為 pandas 資料框
uj5u.com熱心網友回復:
您的 CSV 檔案已損壞,可能是因為某些輸入有額外的(未轉義的)逗號!
如果您可以跳過它們,只需on_bad_lines="warn"在呼叫時設定.read_csv()
df = pd.read_csv("FoodV.csv", index_col=0, on_bad_lines="warn")
如果您需要損壞的行,您可以手動修復它們或正常加載檔案并修改額外的行
contents = []
with open("FoodV.csv") as fh:
for line in fh: # file-likes are iterable by-lines
fields = lines.split(",") # use a CSV
if len(fields) != 11: # guessed from Question
# fix the line
contents.append(fields)
# create dataframe
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/414781.html
標籤:
上一篇:在DockerCompose中獲取“MongooseServerSelectionError:連接ECONNREFUSED127.0.0.1:27017”
