当我使用 prettytable 打印表格时,我没有进入单列
Posted
技术标签:
【中文标题】当我使用 prettytable 打印表格时,我没有进入单列【英文标题】:When I print a table using prettytable, I am not getting in single column 【发布时间】:2021-09-09 23:22:04 【问题描述】:可以帮助我吗?每次打印时,我都无法在单列中打印它在不同的列中打印
from prettytable import PrettyTable
import pandas as pd
for filename in os.listdir('Nse_Histrocial_Data'):
#print(filename)
symbol = filename.split(".")[0]
#print(symbol)
df = pandas.read_csv('Nse_Histrocial_Data/'.format(filename))
if df.empty:
continue
df['20sma'] = df['Close'].rolling(window=20).mean()
df['stddev'] = df['Close'].rolling(window=20).std()
df['lower_band'] = df['20sma'] - (2 * df['stddev'])
df['upper_band'] = df['20sma'] + (2 * df['stddev'])
df['TR'] = abs(df['High'] - df['Low'])
df['ATR'] = df['TR'].rolling(window=20).mean()
df['lower_keltner'] = df['20sma'] - (df['ATR'] * 1.5)
df['upper_keltner'] = df['20sma'] + (df['ATR'] * 1.5)
def in_squeeze(df):
return df['lower_band'] > df['lower_keltner'] and df['upper_band'] < df['upper_keltner']
df['squeeze_on'] = df.apply(in_squeeze, axis=1)
if df.iloc[-2]['squeeze_on'] and not df.iloc[-1]['squeeze_on']:
data = ("".format(symbol))
myTable = PrettyTable(['Stock'])
myTable.add_row([data])
print(myTable)
图片:https://i.stack.imgur.com/Evnr4.png
【问题讨论】:
请修正你的缩进。 您的缩进有问题。据我所知,从symbol = filename.split(".")[0]
到print(myTable)
的所有内容都在for
循环中,对吗?如果是这种情况,您正在为每个循环初始化表。尝试在循环外初始化表格并在循环结束后打印它
当我在循环外打印时。我只得到最后一行作为输出而不是填充列表 --- 谢谢
正如我所说,您还需要在循环外初始化表格
【参考方案1】:
是的,我也在努力寻找可以帮助我运行网站的正确代码,您可以在此处查看我当前代码的详细信息。
【讨论】:
首先得到答案 myTable = PrettyTable(['Stock']) 必须移出循环,然后 print 必须与 for 循环完全对齐。然后它将打印在单列中以上是关于当我使用 prettytable 打印表格时,我没有进入单列的主要内容,如果未能解决你的问题,请参考以下文章