我看了很多问题,找不到所需的答案。如果有重复,请提前道歉。
我有一个函数返回imageslist
,这是一个列表,其中应该 data.Table
的每一行作为一个元素
public IList<string> ImageLoader()
{
var data_str = new StringBuilder();
DataSet data = new DataSet();
SqlHelper db = new SqlHelper();
data.Tables.Add(
db.runQuery("SELECT * from Gallery")
);
data.Tables[0].TableName = "Images";
foreach(DataRow row in data.Tables["Images"].Rows)
{
data_str.Append(
row.ItemArray[1]
+ (row.ItemArray[2].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
+ (row.ItemArray[3].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
+ (row.ItemArray[4].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
+ (row.ItemArray[5].ToString().Equals("") ? COMMA + "EMPTY" : COMMA + row.ItemArray[2])
);
imagesList.Add(data_str.ToString());
}
return imagesList;
}
但是使用此功能,我会得到错误的输出:
P.S:我还从foreach循环中取出了imagesList.Add(data_str.ToString());
,在这种情况下,输出很好,但是全部集中在一个元素中。
所需的输出:
机场,空,空,空,空
机场,终点站,空,空,空
机场,终点站,空,空,空
AllStar,零售,空,空,空
空,零售,空,空,空
空,零售,空,空,空
空,零售,空,空,空
空,零售,空,空,空
我的输出:
机场,空,空,空,空
机场,空,空,空,空机场,码头,空,空,空
机场,空,空,空,空机场,码头,空,空,空机场,码头,空,空,空
机场,空站,空站,空站,空站机场,航站楼,空站,空站,空站,机场,航站楼,空站,空站,空站,AllStar,零售,空站,空站,空站
机场,空,空,空,空,机场,码头,空,空,空,空港,码头,空,空,空,全明星,零售,空,空,空,零售,空,空,空
机场,空,空,空,空机场,码头,空,空,空机场,终端,空,空,空全明星,零售,空,空,空,零售,空,空,空,空,空,空,空
机场,空,空,空,空机场,码头,空,空,空机场,终端,空,空,空全明星,零售,空,空,空,零售,空,空,空,空,空,空,空,零售,空,空,空
机场,空,空,空,空机场,码头,空,空,空机场,终端,空,空,空全明星,零售,空,空,空,零售,空,空,空,空,空,空,空,零售,空,空,空,零售,空,空,空
答案 0 :(得分:1)
您一直追加到data_str变量,然后将其添加到列表中。您应该跳过data_str并直接添加行信息。
In [4]: df['buoy3']
Out[4]:
wind water
0 1.681150 0.910194
1 -2.217671 0.349224
2 1.356037 -0.024291