我想从.txt文件的两列中检查x和y的min和max,但我不知道如何检查。
嗨,伙计们:)我做了一个频谱分析,得到了超过500行的频率和相应的dB。我想在jupyter笔记本中创建一本字典,这样我就可以检查x和y的最大值和最小值,以及几个光谱分析中的变化。我使用了这个代码:
y = {}
with open('wow.txt', "r") as infile:
for line in infile:
key, value = line.strip().split(':')
y[key] = (value)
print(y) 而且还
d = {}
with open('wow.txt') as f:
for line in f:
key, value = line.strip().split(':')
d[key] = int(value)但是有一个
ValueError :没有足够的值来解压(预期的2,got 1)。
我从程序中得到了这个值,有两列,所以我做错了什么?
发布于 2018-12-28 16:48:24
在文本文件的某个地方,没有“:”字符,因此不能分割行。可能是什么地方的空话?
此外,对于这类事情,我喜欢使用熊猫,它是一个具有相当有趣的函数的库。
import pandas as pd
df = pd.read_csv(file, delimiter=':', names=['freq', 'db'])
min = df.loc[df['db'].idxmin()]
max = df.loc[df['db'].idxmax()]
print('Minimum at {}Hz with a magnitude of {}dB'.format(min['freq'], min['db']))
print('Maximum at {}Hz with a magnitude of {}dB'.format(max['freq'], max['db']))https://stackoverflow.com/questions/53961659
复制相似问题