|
@@ -0,0 +1,53 @@
|
|
|
|
+import csv
|
|
|
|
+
|
|
|
|
+# Define the input and output file names
|
|
|
|
+input_file = 'nba.txt'
|
|
|
|
+output_file = 'nba_roster.csv'
|
|
|
|
+
|
|
|
|
+# Initialize lists to store data
|
|
|
|
+roster_data = []
|
|
|
|
+current_team = None
|
|
|
|
+
|
|
|
|
+# Open the input file
|
|
|
|
+with open(input_file, 'r') as file:
|
|
|
|
+ for line in file:
|
|
|
|
+ # Remove leading and trailing whitespaces from the line
|
|
|
|
+ line = line.strip()
|
|
|
|
+
|
|
|
|
+ # Check if the line starts with 'https', skip it
|
|
|
|
+ if line.startswith('https'):
|
|
|
|
+ continue
|
|
|
|
+
|
|
|
|
+ # Check if the line contains the team name
|
|
|
|
+ if 'Roster' in line:
|
|
|
|
+ current_team = line.split(' Roster ')[0]
|
|
|
|
+ elif line and "NAME" not in line: # Skip empty lines and header lines
|
|
|
|
+ # Split the line using tabs as the delimiter
|
|
|
|
+ player_info = line.split('\t')
|
|
|
|
+
|
|
|
|
+ # Remove any numbers from the player's name and set Jersey accordingly
|
|
|
|
+ name = ''.join([c for c in player_info[0] if not c.isdigit()])
|
|
|
|
+ jersey = ''.join([c for c in player_info[0] if c.isdigit()])
|
|
|
|
+
|
|
|
|
+ # If no number found, set Jersey to "NA"
|
|
|
|
+ if not jersey:
|
|
|
|
+ jersey = "NA"
|
|
|
|
+
|
|
|
|
+ # Append the team name, name, and jersey to the player's data
|
|
|
|
+ player_info = [current_team, name, jersey] + player_info[1:]
|
|
|
|
+
|
|
|
|
+ # Append the player's data to the roster_data list
|
|
|
|
+ roster_data.append(player_info)
|
|
|
|
+
|
|
|
|
+# Write the data to a CSV file
|
|
|
|
+with open(output_file, 'w', newline='') as csvfile:
|
|
|
|
+ writer = csv.writer(csvfile)
|
|
|
|
+
|
|
|
|
+ # Write the header row
|
|
|
|
+ writer.writerow(['Team', 'NAME', 'Jersey', 'POS', 'AGE', 'HT', 'WT', 'COLLEGE', 'SALARY'])
|
|
|
|
+
|
|
|
|
+ # Write the player data
|
|
|
|
+ writer.writerows(roster_data)
|
|
|
|
+
|
|
|
|
+print(f'Conversion completed. Data saved to {output_file}')
|
|
|
|
+
|