Python 3.x python如何从Excel导入的列表列表中打印?

Python 3.x python如何从Excel导入的列表列表中打印?,python-3.x,list,Python 3.x,List,大家好。我的任务听起来很简单,但我觉得自己很困惑。我有一个Excel文件,有五个不同的列(震级、BP1、BP2、D1、D2),每个列的行数相同(23) 输入: 五列数字数据 期望输出: 两个子地块。第一个必须包含震级与频率(将频率理解为每个震级项目从BP1到BP2的一条线)。第二个必须是大小与距离(以与上面类似的方式理解距离) 尝试编码: import numpy as numpy import os, sys import os.path import pandas as pd import

大家好。我的任务听起来很简单,但我觉得自己很困惑。我有一个Excel文件,有五个不同的列(震级、BP1、BP2、D1、D2),每个列的行数相同(23)

输入: 五列数字数据

期望输出: 两个子地块。第一个必须包含震级与频率(将频率理解为每个震级项目从BP1到BP2的一条线)。第二个必须是大小与距离(以与上面类似的方式理解距离)

尝试编码:

import numpy as numpy
import os, sys
import os.path
import pandas as pd
import matplotlib.pyplot as plt

fname=os.path.join(workingdir, 'Frequency and BP values.xlsx')
if not os.path.isfile(fname):
    sys.exit('File missing: '+fname)

f_read=pd.read_excel(fname, sheet_name='Valores')
实际产量: 绘制一条直线,它甚至与幅值不对应。它是在基准面绘制的


感谢您的时间和帮助。

好的,如果我理解正确:您有一组x值和两组相应的y值(我们称它们为y1和y2)。您希望获取这些值,并为每个x从y1到y2绘制一条线。在这种情况下,您需要运行for循环。以二维列表形式编写,仅使用列表和
matplotlib.pyplot
,这就是我想到的

import matplotlib.pyplot as plt

y = [[1, 2, 3, 4, 5, 6],
     [2, 4, 6, 8, 10, 12]]
x = [1, 2, 3, 4, 5, 6]

some_figure = plt.figure()
some_subplot = some_figure.add_subplot('111')
for i in range(len(x)):
    some_subplot.plot([x[i], x[i]], [y[0][i], y[1][i]])

plt.show()

到底出了什么问题?我建议您隔离代码中有问题的部分,然后重新提交问题。关于使用多维列表打印,通常:(除非您正在处理)您确实不需要构造多维列表或数组来打印某些内容。奥卡姆剃须刀之类的。只需调用
plt.plot
,使用两个长度相同的独立1D列表即可。所以我不需要构建多维列表来绘制它?好的,我只调用plt.plot,这会为每个幅值绘制一条BP1和BP2之间的线吗?这就是问题所在。也许我可以给你发一张我想要的图和我的原始数据的照片。我想我现在明白这个问题了。给我一秒钟。是的,它实际上是一组Y值和两个对应的x值。非常感谢你的帮助!
import matplotlib.pyplot as plt

y = [[1, 2, 3, 4, 5, 6],
     [2, 4, 6, 8, 10, 12]]
x = [1, 2, 3, 4, 5, 6]

some_figure = plt.figure()
some_subplot = some_figure.add_subplot('111')
for i in range(len(x)):
    some_subplot.plot([x[i], x[i]], [y[0][i], y[1][i]])

plt.show()