Python3:读取引号分隔的CSV并将其保存在字符串列表中

问题描述 投票:0回答:1

我有一个引用分隔的CSV,其中包含HTML代码。我想将单元格的内容保存在字符串列表中。在过去,我使用此代码从CSV文件中读取并将其保存在列表中,但现在它在最后一行返回“IndexError:list index out of range”。我现在不知道该怎么办。我是否应该尝试将CS​​V转换为其他格式,还是可以重写一些代码?

with open("tobetranslated.csv", "r", newline="", encoding="cp1252") as csv_file:
    csv_reader = csv.reader(csv_file, delimiter='"', quotechar='|')
    items = [row[0] for row in csv_reader]

以下是tobetranslated.csv的两个条目:

"<div class=""info-holder"" id=""product_bullets_section"">
<p>
VM-2N ist ein Hochleistungs-Verteilverstärker für Composite- oder SDI-Videosignale und unsymmetrisches Stereo-Audio. Das Eingangssignal wird entkoppelt und isoliert, anschließend wird das Signal an zwei identische Ausgänge verteilt.
<span class=""hidden visible-sm-block visible-md-block visible-xs-block visible-lg-block"" id=""decora_msg_container"">
<span style=""font-size: small; font-style: italic;"">* DECORA® is a registered trademark of Leviton Manufacturing Co., Inc</span>
</span>
</p>
<ul>
<li>
<span>Hohe Bandbreite - 400 MHz (-3 dB).</span>
</li>
<li>
<span>Desktop-Grösse - Kompakte Bauform, zwei Geräte können mithilfe des optionalen Rackadapters RK-1 in einem 19 Zoll Rack auf 1 HE nebeneinander montiert werden.</span>
</li>
</ul>
</div>"
"<div class=""info-holder"" id=""product_bullets_section"">
<p>
VM-8H ist ein Verteilverstärker für HDMI-Signale. Er taktet das Eingangssignal neu, entzerrt es und verteilt es an acht identische Ausgänge.
<span class=""hidden visible-sm-block visible-md-block visible-xs-block visible-lg-block"" id=""decora_msg_container"">
<span style=""font-size: small; font-style: italic;"">* DECORA® is a registered trademark of Leviton Manufacturing Co., Inc</span>
</span>
</p>
<ul>
<li>
<span>Max. Datenrate - 6,75 GBit/s (2,25 GBit/s je Grafikkanal).</span>
</li>
<li>
<span>HDTV-kompatibel.</span>
</li>
<li>
<span>HDCP-konform.</span>
</li>
<li>
<span>HDMI-Unterstützung - Deep Color, x.v.Color™, Lip Sync, CEC.</span>
</li>
<li>
<span>3D-Durchleitung.</span>
</li>
<li>
<span>Kramers intelligente EDID-Bearbeitung I-EDIDPro™ - Intelligente EDID Bearbeitungs-Algorithmen sichern eine einfache Plug and Play Installation in HDMI-Anwendungen.</span>
</li>
<li>
<span>Kramers Reclocking - und Entzerrungs Technologie - Baut das Signal neu auf für längere Kabelstrecken.</span>
</li>
<li>
<span>LED-Anzeige eines aktiven Ausgangs.</span>
</li>
<li>
<span>Universal-Netzteil - 100-240 VAC.</span>
</li>
<li>
<span>Standard 19 Zoll Rackeinbau - 1 HE, Rackmontage-Winkel beiliegend.</span>
</li>
</ul>
</div>"
python python-3.x csv
1个回答
1
投票

我想你可以使用list函数来做你需要的。

with open("tobetranslated.csv", "r", newline="", encoding="cp1252") as csv_file:
    csv_reader = csv.reader(csv_file, delimiter='"', quotechar='|')

    items = list(csv_reader)

print(items)
© www.soinside.com 2019 - 2024. All rights reserved.