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



对于上下文,我对Python和编程非常陌生。

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

在Numbers macOS应用程序中,我更改了设置,使文件"使用tab."分隔值"。这将每个列表值放在一列(Name)下,但我仍然看到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)rows中的每个元素必须是字符串或数字的可迭代对象(例如,列表)。

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

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

相关内容

  • 没有找到相关文章

最新更新