我pandas==1.1.5用來讀取 CSV 檔案。我正在運行以下代碼:
import pandas as pd
import csv
csv_kwargs = dict(
delimiter="\t",
lineterminator="\r\n",
quoting=csv.QUOTE_MINIMAL,
escapechar="!",
)
pd.read_csv("...", **csv_kwargs)
它引發以下錯誤:ValueError: Only length-1 line terminators supported.
Pandas 檔案確認行終止符應該是length-1(我想是單個字符)。
有什么方法可以用 Pandas 讀取這個 CSV,還是應該以其他方式讀取它?
請注意,檔案建議length-1使用 C 決議器,也許我可以插入其他決議器?
編輯:不指定行終止符會在檔案中間引發決議錯誤。具體來說ParserError: Error tokenizing data.,它期望正確數量的欄位但獲得的欄位太多。
EDIT2:我相信上面的 kwargs 被用來創建我試圖閱讀的 csv 檔案。
uj5u.com熱心網友回復:
問題可能出在 escapchar 中,因為!它是一個常見的文本字符。
Python 的 csv 模塊定義了對 escapechar 的非常嚴格的使用:
如果 quoting 設定為 QUOTE_NONE 和 quotechar 如果 doublequote 為 False,則作者用來轉義分隔符的單字符字串。
但熊貓可能會以不同的方式解釋它:
用于轉義其他字符的單字符字串。
您可能有一行包含以下內容:
...\t"some important text!"\t...
這將轉義引號字符并繼續將文本決議到該列中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464785.html
標籤:熊猫 CSV python-3.9
上一篇:從python使用命令提示符
