首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用excel获得此代码的输出?

如何使用excel获得此代码的输出?
EN

Stack Overflow用户
提问于 2018-07-23 05:17:56
回答 1查看 58关注 0票数 0

我试图从这段代码获得输出为excel或csv文件。但是由于输出在列表中,我不能这样做。有没有一种方法可以将列表对象转换为dataframe并获得excel或csv格式的值?

代码语言:javascript
复制
df1 = pd.read_excel('Training.xls') # get input from excel files
df2 = pd.read_excel('Newsss.xlsx') #comparing them
info = df2.shape
totalRow = info[0]

print(totalRow)

    for r in range (0,totalRow):
        lst = df2.iloc[r,:]
        x=df1.iloc[r,1]
        cnt = 0
        l = []

        for i in lst:
            if cnt==0:
                l.append(i)
                cnt=1
                continue
            elif (i-x)==0:
                l.append(1) # condition for my program to work on excel files
            elif abs(i-x) > 0.2:
                l.append(0)
            else:
                l.append(i)
        print(l)       

目前,这是我在打印(L)时得到的输出,但我需要将此值存储在excel或csv中作为逐行显示。

Output of the code

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-23 05:48:36

你可以用你所有的列表l创建一个矩阵,然后转换成一个数据框,以便将其写入csv:

代码语言:javascript
复制
# Big matrix with all your lists
m = []

for r in range (0,totalRow):
    lst = df2.iloc[r,:]
    x=df1.iloc[r,1]
    cnt = 0
    l = []

    for i in lst:
        if cnt==0:
            l.append(i)
            cnt=1
            continue
        elif (i-x)==0:
            l.append(1) # condition for my program to work on excel files
        elif abs(i-x) > 0.2:
            l.append(0)
        else:
            l.append(i)

    # Append your new list to the matrix
    m.append(l)

# Create the data frame
df = pd.DataFrame(m)

# If you have the columns names you may create the df this way
# If the columns names are the same of df1:
columns_names = df1.columns
df = pd.DataFrame(m, columns = columns_names)

file_name = "your_file_name.csv"
df.to_csv(file_name, m)

# You can add a separator like ',', '\t', ';' ...
# df.to_csv(file_name, m, sep = ',')

如果你必须转置矩阵,你可以这样做:

代码语言:javascript
复制
import numpy as np

# Create a matrix object
m = np.matrix(m)

# Transpose your matrix
m = m.T

然后,您可以像以前一样将数据存储在数据框中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51469336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档