如何使用Python将excel(.xls)文件中需要提取关键字的行转换为列?

用户

假设我有一个excel文件,如下所示:

enter image description here

如果无法查看图像链接,则excel文件基本如下:

Name       XXX
Age        XXX
Gender     XXX
Job        XXX
Location   XXX
...        ...
...        ...

(重复“姓名、年龄、性别、工作、地点”列表)文件中至少有1000个或更多列表。“XXX”代表列表中每个字段对应的内容。在

我在网上搜索了行到列的转换,在excel中找到了名为“transpose”的粘贴函数。但是,它非常简单,因为它将所有行转换为列。在

我想做的是只有5列,列名包括姓名、年龄、性别、工作和地点。在


已被浏览了6250次
更新日期: 2020-10-26 06:17:34
1 个回答
fefe Tyson

import numpy as np
import pandas as pd
import openpyxl
dfs = pd.read_excel('input.xlsx', sheet_name=None,header=None)
tester=dfs['Sheet1'].values.tolist()
keys = list(zip(*tester))[0]
seen = set()
seen_add = seen.add
keysu= [x for x in keys if not (x in seen or seen_add(x))]
values = list(zip(*tester))[1]
a = np.array(values).reshape(int(len(values)/len(keysu)),len(keysu))
list1=[keysu]
for i in a:
    list1.append(list(i))
df=pd.DataFrame(list1)
df.to_excel('output.xlsx',index=False,header=False)

input.xlsx

enter image description here

Output.xlsx

enter image description here

评论 - 2020年8月7日 23:22

最新Python问答

推荐Python问答