使用 Pandas Python3 xlsxwriter 在彼此下方写入 xlsx 列
Write xlsx columns below each other with Pandas Python3 xlsxwriter
我有一个 excel(*.xlsx) 文件,其中包含三个 sheet。每个 Sheet 都有一个名为 "Firma" 的列。我想将它们作为一列放在一个新的 xlsx 文件中,所有三列都在彼此下面,只有一列 header 在顶部 "Firma"。我试过像 liste1_1['Firma'] + liste1_2['Firma'] + liste1_3['Firma'] 这样的连接,但这把所有的索引 1一行 3 列,一行所有 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()
它只将最后一个 sheet 的列放在 excel 中,但它并没有完全收集所有 3 列。
无法显示数据。但想在下面提供一个例子:
Sheet 1 个输入:
Sheet 2 个输入:
Sheet 3 个输入:
Sheet 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()
我有一个 excel(*.xlsx) 文件,其中包含三个 sheet。每个 Sheet 都有一个名为 "Firma" 的列。我想将它们作为一列放在一个新的 xlsx 文件中,所有三列都在彼此下面,只有一列 header 在顶部 "Firma"。我试过像 liste1_1['Firma'] + liste1_2['Firma'] + liste1_3['Firma'] 这样的连接,但这把所有的索引 1一行 3 列,一行所有 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()
它只将最后一个 sheet 的列放在 excel 中,但它并没有完全收集所有 3 列。
无法显示数据。但想在下面提供一个例子:
Sheet 1 个输入:
Sheet 1 个结果:
如果您所有的工作表都具有完全相同的结构(看起来),您可以按以下方式使用 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()