Python 如何将web刮削表导出为具有多行的csv?

Python 如何将web刮削表导出为具有多行的csv?,python,web-scraping,beautifulsoup,export-to-csv,Python,Web Scraping,Beautifulsoup,Export To Csv,我在Python2.7.13上编写了这段代码,用于从网站上删除datatable 导入urllib2 从bs4导入BeautifulSoup 导入csv 导入操作系统 out=打开(“proba.csv”、“rb”) 数据=csv.reader(输出) def制作汤(url): thepage=urlib2.urlopen(url) soupdata=BeautifulSoup(页面“html.parser”) 返回soupdata maindatatable=“” 汤=做汤https://ww

我在Python2.7.13上编写了这段代码,用于从网站上删除datatable

导入urllib2
从bs4导入BeautifulSoup
导入csv
导入操作系统
out=打开(“proba.csv”、“rb”)
数据=csv.reader(输出)
def制作汤(url):
thepage=urlib2.urlopen(url)
soupdata=BeautifulSoup(页面“html.parser”)
返回soupdata
maindatatable=“”
汤=做汤https://www.mnb.hu/arfolyamok")
记录在soup.findAll('tr'):
datatable=“”
对于record.findAll('td')中的数据:
datatable=datatable+“,”+data.text
maindatatable=maindatatable+“\n”+datatable[1:]
header=“Penznem、Devzanev、Egyseg、Penznemforintban”
打印主数据表
文件=打开(os.path.expanduser(“proba.csv”),“wb”)
utf16\U str1=头文件。编码('utf16')
utf16\U str2=maindatable.encode('utf16')
文件写入(utf16\U str1)
文件写入(utf16\U str2)
file.close()文件
我想将其导出为CSV,并包含以下4行:

“佩兹涅姆·德瓦扎涅夫·埃吉斯格·佩兹涅姆福林特班”

数据以“,”分隔,但最后两个值为一行。(283,45)


我怎样才能修复它?

你不能直接避免最后一次昏迷,但是

您可以简单地使用另一个seperator,即:;(分号) 当您在exel中打开文件时,计算选择(;)分号作为seperator,您将得到预期的结果

导入urllib2
从bs4导入BeautifulSoup
导入csv
导入操作系统
out=打开(“proba.csv”、“rb”)
数据=csv.reader(输出)
def制作汤(url):
thepage=urlib2.urlopen(url)
soupdata=BeautifulSoup(页面“html.parser”)
返回soupdata
maindatatable=“”
汤=做汤https://www.mnb.hu/arfolyamok")
记录在soup.findAll('tr'):
datatable=“”
对于record.findAll('td')中的数据:
datatable=datatable+“;”+data.text
maindatatable=maindatatable+“\n”+datatable[1:]
header=“Penznem;Devizanev;Egyseg;Penznemforintban”
打印主数据表
文件=打开(os.path.expanduser(“proba.csv”),“wb”)
utf16\U str1=头文件。编码('utf16')
utf16\U str2=maindatable.encode('utf16')
文件写入(utf16\U str1)
文件写入(utf16\U str2)

file.close()
您可以在python中使用模块。啊,谢谢,这是个好主意!我怎样才能做4行不同的动作?因为现在这只在行/数据上,用“;”分隔。如何使用这些数据创建一个arrey/block(因为稍后,我要导入到MYSQL数据库)非常简单,使用datatable.split()方法首先按“\n”拆分,这样您将获得每一行作为项,然后按“;”拆分项(分号),您将得到包含每个列的列表。。