Python读取.eds文件并生成指定格式表格的实现求助
EDS文件读取与表格处理解决方案
问题根源
EDS是PDS行星数据系统的专用文本格式,采用空格分隔而非逗号分隔,直接用csv.reader默认配置会把整行内容识别为单个列表元素,导致数据无法正确存入data变量。
修正后的代码实现
# 读取EDS文件并处理成目标格式 file_path = r'C:\Users\202958\PycharmProjects\pythonProject\MGS\1998_358\8358d47a.eds' data = [] with open(file_path, 'r') as file: # 读取第一行元数据 header_line = file.readline().strip() # 按空格分割第一行,提取第14、18、19项(注意Python索引从0开始,对应13、17、18) header_items = header_line.split() col14 = header_items[13] col18 = header_items[17] col19 = header_items[18] # 读取剩余行数据 for line in file: line = line.strip() if not line: continue # 跳过空行 # 按空格分割数据行,提取前6列 row_data = line.split()[:6] # 新增三列并填充元数据值 row_data.extend([col14, col18, col19]) data.append(row_data) # 打印前5行验证结果 for i in range(min(5, len(data))): print(data[i])
关键说明
- 第一行元数据用
split()按空格分割,需注意Python索引从0开始,所以第14项对应索引13,以此类推。 - 数据行处理时,用
split()分割后取前6列,再追加三个从首行提取的元数据字段。 - 加入空行判断逻辑,避免处理无效行导致的数据错误。
内容的提问来源于stack exchange,提问作者MAK
相关产品推荐
相关产品推荐

