- Вы пропустили аргумент заголовка в приведенном выше коде, поэтому он создает заголовок в каждом добавлении файла.
df, header = pd.read_html(page)
- Если вы поставите заголовок как 0 , тогда он даст результаты, как вы хотите, но все равно вы пропустите верхний заголовок, так как вы по умолчанию добавляете пустой файлкоторый не имеет никаких данных
import csv
from urllib.request import urlopen
import pandas as pd
contents = []
with open('WV_urls.csv','r') as csvf: # Open file in read mode
urls = csv.reader(csvf)
for url in urls:
contents.append(url) # Add each url to list contents
for url in contents: # Parse through each url in the list.
page = urlopen(url[0]).read()
df, header = pd.read_html(page,header=0)
df.to_csv('WV_Licenses_Daily.csv', index=False, header=None, mode='a')
Вы можете создать пустой фрейм данных с необходимыми столбцами.После этого вы можете добавить к нему фреймы данных.
import csv
from urllib.request import urlopen
import pandas as pd
contents = []
df = pd.DataFrame(columns=['WV Number', 'Company', 'DBA', 'Address', 'City', 'State', 'Zip','County', 'Phone', 'Classification*', 'Expires']) #initialize the data frame with columns
with open('WV_urls.csv','r') as csvf: # Open file in read mode
urls = csv.reader(csvf)
for url in urls:
contents.append(url) # Add each url to list contents
for url in contents: # Parse through each url in the list.
page = urlopen(url[0]).read()
df1, header = pd.read_html(page,header=0)#reading with header
df=df.append(df1) # append to dataframe
df.to_csv('WV_Licenses_Daily.csv', index=False)