Python读取TXT文件数组并绘制matplotlib图表的实现方法
从TXT文件读取带方括号的数组到Python变量
给你两种简单可靠的方法,直接解决你的问题:
方法一:手动解析(适合理解底层逻辑)
如果想搞清楚每一步的处理过程,可以用这种方式:
# 打开文件并读取内容,with语句会自动关闭文件,避免资源泄漏 with open('data.txt', 'r') as file: # 读取后去掉首尾空白字符(比如换行、空格) file_content = file.read().strip() # 按空白分割成单个的数组字符串(不管有多少个空格都能处理) array_str_list = file_content.split() # 逐个转换为Python列表 result_arrays = [] for arr_str in array_str_list: # 去掉字符串首尾的方括号 num_part = arr_str.strip('[]') # 按逗号分割成单个数字字符串,再转成整数(如果是浮点数就换float) num_list = [int(num.strip()) for num in num_part.split(',')] result_arrays.append(num_list) # 提取到单独变量里用 array1 = result_arrays[0] array2 = result_arrays[1]
方法二:用ast模块自动解析(推荐,简单不易错)
Python的ast.literal_eval可以安全解析符合Python语法的字符串,你的方括号数组刚好是合法的列表语法,用这个方法最省心:
import ast with open('data.txt', 'r') as file: file_content = file.read().strip() # 分割成单个数组字符串后,逐个解析成列表 array_str_list = file_content.split() result_arrays = [ast.literal_eval(arr_str) for arr_str in array_str_list] # 拿到你需要的变量 array1 = result_arrays[0] array2 = result_arrays[1]
两种方法都能得到你要的数组变量,之后直接传给matplotlib的绘图函数就行。
内容的提问来源于stack exchange,提问作者Bruno Mendes
相关产品推荐
相关产品推荐

