问题描述
我的目的是读取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')
输出:
,我了解您想要这样的东西:
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.apply。 generate
的参数必须是与一行相对应的序列。