簡體   English   中英

將CSV文件上傳到Pandas Dataframe時錯誤標記數據

[英]Error tokenizing data while uploading CSV file into Pandas Dataframe

我有一個8GB的CSV文件,其中包含有關在法國創建的公司的信息。 當我嘗試使用pandas.read_csv在Python中上載它時,出現各種類型的錯誤。 我認為這是導致問題的3個因素的組合:

  • 文件大小(8GB)
  • 單元格中的法語字符(例如“é”)
  • 該CSV文件的組織方式類似於Excel文件。 字段由列分開,就像XLS文件一樣

當我嘗試使用以下方式導入文件時:

import pandas as pd
df = pd.read_csv(r'C:\..\data.csv')

我收到以下錯誤: OSError:從文件初始化失敗

然后,為了消除有關大小的問題,我復制了文件(data.csv)並將其粘貼,僅保留前25行(data2.csv)。 這是一個輕得多的文件,可以消除大小問題:

df = pd.read_csv(r'C:\..\data2.csv')

我得到相同的OSError:從文件初始化失敗錯誤。

經過研究后,我嘗試使用Data2.csv編寫以下代碼

df = pd.read_csv(r'C:\..\data2.csv', sep="\t", encoding="latin")

這次,導入成功完成,但是格式很奇怪,例如: https : //imgur.com/a/y6WJHC5 所有字段都在同一列中。

因此,即使消除了大小問題,它也無法正確讀取csv文件。 而且,我需要使用主文件Data.csv。 因此,我在初始文件(data.csv)上嘗試了相同的代碼:

df = pd.read_csv(r'C:\..\data.csv', sep="\t", encoding="latin")

我得到: ParserError:錯誤標記數據。 C錯誤:內存不足

正確讀取此data.csv的正確代碼是什么?

謝謝,

從您的圖像看來,文件用分號(;)分隔。 嘗試使用“;” 作為read_csv函數中的sep。

熊貓將csv讀取到ram中-一個8GB的文件可能會很容易用盡它-嘗試分塊讀取文件。 看到這個答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM