在Python中读取Excel中的行和列并将其放入数组

问题描述

我的目的是读取excel数据,然后将每个名字分别分类为名字,第二个名字和第二个域名,以及域变量。

解决方法

您可以使用pandas遍历行,更新数据,然后再次使用pandas将其保存到excel:

import pandas as pd

df = pd.read_excel('input.xlsx',index_col=None)

output = {'0': [],'1': [],'2': [],'3': [],'4': []}
for index,row in df.iterrows():
    output['0'].append(f"{row['First']}@{row['Domain']}")
    output['1'].append(f"{row['Second']}@{row['Domain']}")
    output['2'].append(f"{row['First']}{row['Second']}@{row['Domain']}")
    output['3'].append(f"{row['First']}.{row['Second']}@{row['Domain']}")
    output['4'].append(f"{row['First'][0]}{row['Second']}@{row['Domain']}")

df = pd.DataFrame(output,columns=list(output.keys()))
df.to_excel('output.xlsx')

输出:

enter image description here

,

我了解您想要这样的东西:

df = pandas.read_excel("input.xlsx")

def generate(data):
    first,last,domain = data
    return [ fl+'@'+domain for fl in \
        [first,first+last,first+'.'+last,first[0]+last]]

df.apply(generate,'columns',result_type='expand').to_excel("output.xlsx")  

执行此操作的好功能是Dataframe.applygenerate的参数必须是与一行相对应的序列。