为了账号安全,请及时绑定邮箱和手机立即绑定

初学者。只是没有发现错误。python 导出到 CSV

初学者。只是没有发现错误。python 导出到 CSV

开满天机 2024-01-15 21:37:21
我必须编写一个脚本来将表写入 CSV 文件中。由于我还是编程初学者,我只是找不到错误。使用“#print(rows_data)”,数据将显示在控制台中。但不幸的是不在空的 CSV 文件中。也许有人有提示?url = browser.page_source #html_content = url.textsoup = BeautifulSoup(url, "lxml")table_aufderseite = []roh1_table = soup.find(id="TransactionsContent")#"span", attrs={})# es gibt zwei Tabellen die leider identisch sind und keine unique ID haben. ich brauche die zweite...for table_list in range(2):    table_aufderseite = roh1_table.find_all('table')gdp_table = table_aufderseite[2] # ok richtige Tabelle jetzt, das ist gdp_table.table_rows = gdp_table.find_all('tr')for tr in table_rows:    td = tr.find_all('td')    rows_data = [tabdata.text.strip().replace("\t", "").replace("\n", "") for tabdata in td]    #    print(rows_data)    with open('bahncardkreditkarten-umsatz.csv', 'w', newline='') as filechen:        writer = csv.writer(filechen)        writer.writerows(rows_data)谢谢
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

的参数writer.writerows()应该是一个二维列表,但rows_data只有一行。


您可以将所有行收集到列表列表中。然后在循环完成后,调用writerows()所有内容。


all_rows = []

for tr in table_rows:

    td = tr.find_all('td')

    rows_data = [tabdata.text.strip().replace("\t", "").replace("\n", "") for tabdata in td]

    all_rows.append(rows_data)

    


with open('bahncardkreditkarten-umsatz.csv', 'w', newline='') as filechen:

    writer = csv.writer(filechen)

    writer.writerows(all_rows)


查看完整回答
反对 回复 2024-01-15
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您每次通过循环都会覆盖您的行。假设您正在读取的表中的最后一行是空的,因此文件最终为空


在这个部分:


for tr in table_rows:

    td = tr.find_all('td')

    rows_data = [tabdata.text.strip().replace("\t", "").replace("\n", "") for tabdata in td]

    

#    print(rows_data)


    with open('bahncardkreditkarten-umsatz.csv', 'w', newline='') as filechen:

        writer = csv.writer(filechen)

        writer.writerows(rows_data)

您将循环遍历每个表行,对于每一行,您重新打开 .csv 文件并从头开始写入。相反,您应该打开文件一次,然后在打开文件后循环遍历表行,每次通过循环添加新数据,或者将行收集到一个数组中,然后通过一次调用 writerows 将它们写出。


或者,您可以使用打开文件'a'而不是'w'附加到文件;然而,这似乎不必要地低效和混乱。


查看完整回答
反对 回复 2024-01-15
  • 2 回答
  • 0 关注
  • 35 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信