python 获取页面表格数据存放到csv中的方法

获取单独一个table,代码如下:

#!/usr/bin/env python3
# _*_ coding=utf-8 _*_
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.request import HTTPError
try:
  html = urlopen("http://en.wikipedia.org/wiki/Comparison_of_text_editors")
except HTTPError as e:
  print("not found")
bsObj = BeautifulSoup(html,"html.parser")
table = bsObj.findAll("table",{"class":"wikitable"})[0]
if table is None:
  print("no table");
  exit(1)
rows = table.findAll("tr")
csvFile = open("editors.csv",'wt',newline='',encoding='utf-8')
writer = csv.writer(csvFile)
try:
  for row in rows:
    csvRow = []
    for cell in row.findAll(['td','th']):
      csvRow.append(cell.get_text())
    writer.writerow(csvRow)
finally:
  csvFile.close()

获取所有table,代码如下:

#!/usr/bin/env python3
# _*_ coding=utf-8 _*_
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.request import HTTPError
try:
  html = urlopen("http://en.wikipedia.org/wiki/Comparison_of_text_editors")
except HTTPError as e:
  print("not found")
bsObj = BeautifulSoup(html,"html.parser")
tables = bsObj.findAll("table",{"class":"wikitable"})
if tables is None:
  print("no table");
  exit(1)
i = 1
for table in tables:
  fileName = "table%s.csv" % i
  rows = table.findAll("tr")
  csvFile = open(fileName,'wt',newline='',encoding='utf-8')
  writer = csv.writer(csvFile)
  try:
    for row in rows:
      csvRow = []
      for cell in row.findAll(['td','th']):
        csvRow.append(cell.get_text())
      writer.writerow(csvRow)
  finally:
    csvFile.close()
  i += 1

以上这篇python 获取页面表格数据存放到csv中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python pands实现execl转csv 并修改csv指定列的方法

    如下所示: # -*- coding: utf-8 -*- import os import pandas as pd import numpy as np #from os import sys def appendStr(strs): return "BOQ" + strs def addBOQ(dirs, csv_file): data = pd.read_csv(os.path.join(dirs, csv_file), encoding="gbk") da

  • 对python csv模块配置分隔符和引用符详解

    如下所示: file = open('./abc.csv') csv.reader(file, delimiter=',', quotechar='"') 说明:delimiter是分隔符,quotechar是引用符,当一段话中出现分隔符的时候,用引用符将这句话括起来,就能排除歧义. 以上这篇对python csv模块配置分隔符和引用符详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python对CSV、Excel、txt、dat文件的处理

    python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) 1.读取 1.1基于python csv库 #3.读取csv至字典x,y import csv # 读取csv至字典 csvFile = open(r'G:\训练小样本.csv', "r") reader = csv.reader(csvFile) #print(reader) # 建立空字典 result = {} i=0 for item in reader: if reader.line_num

  • 对python中xlsx,csv以及json文件的相互转化方法详解

    最近需要各种转格式,这里对相关代码作一个记录,方便日后查询. xlsx文件转csv文件 import xlrd import csv def xlsx_to_csv(): workbook = xlrd.open_workbook('1.xlsx') table = workbook.sheet_by_index(0) with codecs.open('1.csv', 'w', encoding='utf-8') as f: write = csv.writer(f) for row_num

  • python pandas读取csv后,获取列标签的方法

    在Python中,经常会去读csv文件,如下 import pandas as pd import numpy as np df = pd.read_csv("path.csv") data = np.array(df.loc[:,:]) 通过这种方式得到的data,不包含第一行,一般来说,第一行即是列标签.那么如何获取第一行的内容呢.如下 column_headers = list(df.columns.values) 以上这篇python pandas读取csv后,获取列标签的方法

  • Python简单爬虫导出CSV文件的实例讲解

    流程:模拟登录→获取Html页面→正则解析所有符合条件的行→逐一将符合条件的行的所有列存入到CSVData[]临时变量中→写入到CSV文件中 核心代码: ####写入Csv文件中 with open(self.CsvFileName, 'wb') as csvfile: spamwriter = csv.writer(csvfile, dialect='excel') #设置标题 spamwriter.writerow(["游戏账号","用户类型","游戏

  • python生成以及打开json、csv和txt文件的实例

    生成txt文件: mesg = "hello world" with open("test.txt", "w") as f: f.write("{}".format(mesg)) print("加载完成!") 生成json文件: import json mesg = {"key": "value"} with open("test.json", &

  • python 快速把超大txt文件转存为csv的实例

    今天项目有个需求,就是把txt文件转为csv,txt之间是空格隔开,转为csv时需要把空格转换为逗号,网上找的一个版本,只需要三行代码,特别犀利: import numpy as np import pandas as pd data_txt = np.loadtxt('datas_train.txt') data_txtDF = pd.DataFrame(data_txt) data_txtDF.to_csv('datas_train.csv',index=False) 上述的datas_tr

  • Python实现的简单读写csv文件操作示例

    本文实例讲述了Python实现的简单读写csv文件操作.分享给大家供大家参考,具体如下: python中有一个读写csv文件的包,直接import csv即可 新建test.csv 1.写 import csv with open("test.csv","w",encoding='utf8') as csvfile: writer=csv.writer(csvfile) writer.writerow(["index","a_name&

  • python 实现批量xls文件转csv文件的方法

    引言:以前写的一个批量xls转csv的python简单脚本,用的是python2.7 #coding=utf-8 import os import time import logging import xlrd import csv #xls文件存放路径 INPUTPATH= u"D:\\lsssl\\桌面\\xls文件" #生成的csv文件存放路径 OUTPATH = u"D:\\lsssl\桌面\\csv" class changeCenter: def __i

随机推荐