Python 列表中出现不必要的逗号

Unnecessary commas appearing in Python list

就上下文而言,我对 Python 和一般编程还很陌生。

我有一个列表(使用 selenium webdriver 创建)看起来非常正常,但是当我尝试将其导出到 CSV 文件时,列表中的每个值都被解释为在每个字符串值之间用逗号分隔。这会导致 CSV 文件为列表值中的每个字符串值创建一列。

在 Numbers macOS 应用程序中,我更改了设置,以便文件“使用制表符分隔值”。这将每个列表值放在一列(名称)下,但我仍然看到一个逗号分隔 CSV 文件中的每个字符串值。

我的行现在看起来像这样:

B,o,s,t,o,n

但我希望它能反映它在 python 上的列表中的样子:

Boston

这是我在 Python 中写的用于编写 CSV 文件的内容。

from selenium import webdriver
import time
import csv

PATH = "/users/charlesmiele/desktop/chromedriver"
driver = webdriver.Chrome(PATH)
                        

url = 'https://www.niche.com/colleges/search/best-colleges/?page=1'

clist = []

driver.get(url)
time.sleep(1)
data = driver.find_elements_by_tag_name('h2')
for value in data:
        print(value.text)
        clist.append(value.text)
time.sleep(1)

with open("list.csv", 'w') as f:
        writer = csv.writer(f)
        writer.writerow(['Name'])
        writer.writerows(clist)

driver.quit()
print(clist)

谢谢!

您可以使用数据框轻松完成此操作。它不会在 Excel.

中跳过一行
df = pd.DataFrame(clist,columns=['Name'])
df.to_csv('list.csv', index=False)

导入

import pandas as pd

您正在使用 writerows(rows)Each element in rows has to be an iterable (e.g., a list) of strings or numbers.

在您的 for 循环中,只需将 clist.append(value.text) 更改为 clist.append([value.text])。这样,要写入的每一行都将包含一个只有 1 个字符串元素的列表。

for value in data:
    print(value.text)
    clist.append([value.text])