簡體   English   中英

Python在從CSV文件讀取時添加額外的文本和大括號

[英]Python adding extra text and braces while reading from CSV file

我想使用 python 從 csv 文件中讀取數據,但在使用以下代碼后,文本中有一些額外的字符和大括號,這些字符和括號不在原始數據中。 請幫助刪除它。

import csv

with open("data.csv",encoding="utf8") as csvDataFile:
    csvReader = csv.reader(csvDataFile)

    for row in csvReader:
        print(row)

原始數據截圖

閱讀后顯示的是:- ['\www.aslteramo.it']

\是一個 UTF-8 BOM(也稱為“零寬度無\空間”字符)。

它有時用於表示文件是 UTF-8 格式。

您可以在代碼中使用str.replace('\', '')來擺脫它。 像這樣:

import csv

with open("data.csv",encoding="utf8") as csvDataFile:
    csvReader = csv.reader(csvDataFile)
    for row in csvReader:
        print([col.replace('\ufeff', '') for col in row])

另一種解決方案是使用“utf-8-sig”編碼而不是“utf-8”編碼打開文件。

順便說一下,大括號是添加的,因為row是一個列表。 如果您的 CSV 文件只有一列,您可以從每一行中選擇第一項,如下所示:

print(row[0].replace('\ufeff', ''))

這是帶有字節順序標記 (BOM) 的 utf-8 編碼 - 在 Windows 中用作簽名。

使用utf-8-sig編碼而不是utf8打開文件

暫無
暫無

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

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