Spaces:
Sleeping
Sleeping
| import json | |
| import os | |
| def extract_questions(): | |
| # Attempt to find the correct input file. | |
| # The user specifically asked for 'financial_kb_200.json', but | |
| # 'financial_kb_2000.json' was found in the project. | |
| # We will prioritize 'financial_kb_2000.json' as it exists. | |
| input_file_path = os.path.join(os.path.dirname(__file__), 'financial_kb_2000.json') | |
| output_file_path = os.path.join(os.path.dirname(__file__), 'kb_questions.txt') | |
| if not os.path.exists(input_file_path): | |
| print(f"File {input_file_path} not found. Trying local path...") | |
| input_file_path = 'src/data/financial_kb_2000.json' | |
| output_file_path = 'src/data/kb_questions.txt' | |
| if not os.path.exists(input_file_path): | |
| print(f"Error: {input_file_path} not found.") | |
| return | |
| try: | |
| with open(input_file_path, 'r', encoding='utf-8') as f: | |
| data = json.load(f) | |
| # Handle both list of dicts or a single dict (if the structure varies) | |
| if isinstance(data, list): | |
| questions = [item.get('question') for item in data if isinstance(item, dict) and 'question' in item] | |
| elif isinstance(data, dict): | |
| # If the JSON is a single object with a questions list or something similar | |
| questions = [data.get('question')] if 'question' in data else [] | |
| else: | |
| questions = [] | |
| # Remove None values | |
| questions = [q for q in questions if q] | |
| with open(output_file_path, 'w', encoding='utf-8') as f: | |
| for q in questions: | |
| f.write(f"{q}\n") | |
| print(f"Successfully extracted {len(questions)} questions to {output_file_path}") | |
| except Exception as e: | |
| print(f"An error occurred: {e}") | |
| if __name__ == "__main__": | |
| extract_questions() | |