python-3.x - 使用 Pandas Python3 xlsxwriter 在彼此下方写入 xlsx 列
问题描述
我有一个包含三张纸的 excel(*.xlsx) 文件。每个工作表都有一个名为“公司”的列。我想将它们作为一列放在一个新的 xlsx 文件中,所有三个都在彼此下方,顶部只有一个列标题“公司”。我尝试像 liste1_1['Firma'] + liste1_2['Firma'] + liste1_3['Firma'] 进行连接,但这会将所有 3 列的索引 1 放在一行中,将所有 3 列的索引 2 放在一行中等等。但我希望他们在彼此之下。
当我运行此代码时:
import pandas as pd
liste1_1 = pd.read_excel(r'C:\Users\benja\Google Drive\Versandlisten\Mappe1.xlsx', sheet_name=0)
liste1_2 = pd.read_excel(r'C:\Users\benja\Google Drive\Versandlisten\Mappe1.xlsx', sheet_name=1)
liste1_3 = pd.read_excel(r'C:\Users\benja\Google Drive\Versandlisten\Mappe1.xlsx', sheet_name=2)
a = liste1_1[['Firma']]
b = liste1_2[['Firma']]
c = liste1_3[['Firma']]
neu = [a,b,c]
writer = pd.ExcelWriter(r'C:\\Users\\benja\\Google Drive\\Versandlisten\\neu.xlsx', engine='xlsxwriter')
for x in neu:
x.to_excel(writer, sheet_name='Gesamtliste', index=False)
writer.save()
它只将最后一张表的列放在 excel 中,但它没有将所有 3 列完全收集在彼此下方。
无法显示数据。但想在下面提供一个例子:
输入表 1:
结果表 1:
稍后我想获取 5 个或更多 excel 文件,阅读名为“Firma”的列并将其放在其他列表下方的一个新列表中。不同的列也一样。
解决方案
如果您所有的工作表都具有完全相同的结构(看起来),您可以pd.concat
按以下方式使用:
pd.concat([liste1_1, liste1_2, liste1_3])
然后将生成的数据框保存回 Excel:
df = pd.concat([liste1_1, liste1_2, liste1_3], sort=False) # avoiding the warning here
writer = pd.ExcelWriter(r'C:\Users\benja\Google Drive\Versandlisten\neu.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Gesamtliste', index=False)
writer.save()
推荐阅读
- html - 在密码强度计上使用 role=progressbar 时会引起混淆吗?
- mysql - 存储过程数据未填充到表中
- c++ - fseeko 在寻找 EOF 时不会在文件中创建一个洞
- python - 一个变量传递到 jinja 可以有多深?
- pdf - 破折号 plotly + flask = 创建和下载 pdf 文件
- bash - Bash:生成数字字母组合序列的更智能方法?
- c# - 如何定义来自不同类的多维数组
- python - python pip install -f 开关忽略了我提供的目录
- pandas - 当我绘制地图时,获取“ValueError:数据映射点必须按递增顺序排列 x”
- python - 如何根据另一个特征计算一个特征类别的比例分布