Pandas и добавление столбца и данных в таблицу - PullRequest
0 голосов
/ 02 февраля 2020

Есть идеи, как добавить деление (j) в каждую строку? Я запускаю программу, и она проходит через все подразделения (от 1 до 5). Я хочу добавить, какое это деление для каждой строки. У меня есть заголовки «Имя, пол, штат, должность, градация, клуб / HS, рейтинг, обязательства, отдел» в верхней части таблицы. Прямо сейчас я не знаю, какое деление у каждого ряда, потому что оно пустое. Спасибо за вашу помощь ....

import pandas as pd

max_page_num = 10 

with open('results.csv', 'a', newline='') as f:  
    f.write('Name, Gender, State, Position, Grad, Club/HS, Rating, Commitment, Division\n')

def division():
   for j in range(1,5):
      division = str(j)  
      for i in range(max_page_num):  
         print('page:', i)
         graduation = str(2020)
         area = "commitments" # "commitments" or "clubplayer"
         gender = "m" 
         page_num = str(i)
         source = "https://www.topdrawersoccer.com/search/?query=&divisionId=" + division + "&genderId=m&graduationYear=" + graduation + "&playerRating=&pageNo=" + page_num + "&area=" + area +""
         all_tables = pd.read_html(source)
         df = all_tables[0]
         print('items:', len(df))

         df.to_csv('results.csv', header=False, index=False, mode='a') 

division()

1 Ответ

1 голос
/ 03 февраля 2020

Простое добавление столбца «деление» должно сделать это, если я правильно понимаю.

import pandas as pd

max_page_num = 10 

with open('results.csv', 'a', newline='') as f:  
    f.write('Name, Gender, State, Position, Grad, Club/HS, Rating, Commitment, Division\n')

def division():
   for j in range(1,5):
      division = str(j)  
      for i in range(max_page_num):  
         print('page:', i)
         graduation = str(2020)
         area = "commitments" # "commitments" or "clubplayer"
         gender = "m" 
         page_num = str(i)
         source = "https://www.topdrawersoccer.com/search/?query=&divisionId=" + division + "&genderId=m&graduationYear=" + graduation + "&playerRating=&pageNo=" + page_num + "&area=" + area +""
         all_tables = pd.read_html(source)
         df = all_tables[0]
         df['division'] = division
         print('items:', len(df))

         df.to_csv('results.csv', header=False, index=False, mode='a') 

division()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...