Python-使用Panda将多个表添加到单个CSV中
我想知道如何将panda解析的表转换成一个CSV,我已经设法将每个表转换成一个单独的CSV,但是我希望它们都在一个CSV上。这是我获取多个CSV的当前代码:Python-使用Panda将多个表添加到单个CSV中,python,pandas,export-to-csv,Python,Pandas,Export To Csv,我想知道如何将panda解析的表转换成一个CSV,我已经设法将每个表转换成一个单独的CSV,但是我希望它们都在一个CSV上。这是我获取多个CSV的当前代码: import pandas as pd import csv url = "https://fasttrack.grv.org.au/RaceField/ViewRaces/228697009? raceId=318809897" data = pd.read_html(url, attrs = {'class': 'ReportRa
import pandas as pd
import csv
url = "https://fasttrack.grv.org.au/RaceField/ViewRaces/228697009?
raceId=318809897"
data = pd.read_html(url, attrs = {'class': 'ReportRaceDogFormDetails'} )
for i, datas in enumerate(data):
datas.to_csv("new{}.csv".format(i), header = False, index = False)
我认为只需要,因为data
是数据帧列表:
df = pd.concat(data, ignore_index=True)
df.to_csv(file, header=False, index=False)
您有两种选择:
data = pd.read_html(url, attrs = {'class': 'ReportRaceDogFormDetails'} )
for datas in data:
datas.to_csv("new.csv", header=False, index=False, mode='a')
data = pd.read_html(url, attrs = {'class': 'ReportRaceDogFormDetails'} )
df = pd.concat(data, ignore_index=True)
df.to_csv("new.csv", header=False, index=False)
data = pd.read_html(url, attrs = {'class': 'ReportRaceDogFormDetails'} )
for datas in data:
datas.to_csv("new.csv", header=False, index=False, mode='a')
data = pd.read_html(url, attrs = {'class': 'ReportRaceDogFormDetails'} )
df = pd.concat(data, ignore_index=True)
df.to_csv("new.csv", header=False, index=False)
编辑 为了仍然分离csv文件上的数据帧,我们必须坚持使用选项#1,但需要添加一些内容
data = pd.read_html(url, attrs = {'class': 'ReportRaceDogFormDetails'} )
with open('new.csv', 'a') as csv_stream:
for datas in data:
datas.to_csv(csv_stream, header=False, index=False)
csv_stream.write('\n')
所有表的模式都相同吗?是的,模式是相同的。这可以是一个带有列表理解的单行程序,但为了清晰起见,我选择了上面的形式。感谢您的回复,我收到了一个代码值错误。错误:所有传递的对象都不是。谢谢!你知道在康考特期间如何把桌子分开吗?所以他们不是直来直去的?就像在数据帧之间有一行空格一样,您可以使用
concat
中的axis=1
将数据帧并排放置,而不是一个接一个地放置(不确定您想要哪一个)。