读取文本文件并拆分数据至两个一维数组的技术实现需求
解决方案:提取电影名称与收入数据到数组
没问题,我来帮你搞定这个需求!下面用Python实现,步骤清晰易懂:
实现思路
- 读取目标文本文件的全部内容
- 统一替换所有特殊分隔符(
=、@、}、{)为一个通用分隔符,方便后续拆分 - 拆分出每个电影的条目,再分别提取名称和收入数据存入两个一维数组
完整代码示例
import re # 1. 读取文本文件内容 with open('movies.txt', 'r', encoding='utf-8') as file: file_content = file.read() # 2. 替换所有特殊分隔符为| processed_content = re.sub(r'[=@}{]', '|', file_content) # 3. 拆分出单个电影条目(自动忽略多余空格) movie_items = processed_content.split() # 4. 初始化两个数组,分别存储电影名和收入 movie_names = [] movie_revenues = [] # 5. 遍历处理每个电影条目 for item in movie_items: name, revenue_str = item.split('|') movie_names.append(name) # 转换为浮点数(如果只需要字符串存储,可去掉float()) movie_revenues.append(float(revenue_str)) # 验证结果 print("电影名称数组:", movie_names) print("收入数据数组:", movie_revenues)
代码说明
- 使用
re.sub正则替换,一次性处理所有类型的分隔符,比逐个替换更高效 split()方法会自动处理文本中的多个空格,确保每个元素都是完整的电影条目- 收入数据转换为
float类型,方便后续进行数值计算(如果仅需存储字符串,直接存入即可)
测试结果
针对你提供的示例文本,运行后会得到:
电影名称数组: ['Jurassic World', 'Black Panther', 'The Revenant', 'Trainwreck']
收入数据数组: [11734562.56, 4352749.21, 7452893.21, 1547892.45]
内容的提问来源于stack exchange,提问作者hard
相关产品推荐
相关产品推荐

