【发布时间】:2018-11-08 23:48:19
【问题描述】:
我对 python 中的 excel/csv 操作非常陌生。
我有 1k+ .xlsx 文件。每个 excel 文件有 2 个工作表, sheet1.csv , sheet2.csv (工作表名称在所有 .xlsx 中都相同)。从所有 excel 文件中,我必须收集 sheet1.csv 并且必须使用所有工作表创建新的 excel。
来自一个 excel 的 Sheet1.scv 如下所示:
Name Age Gender State City
N1 22 M Cal ABC
N2 32 M NC Dur
另一个 excel 中的 sheet1.csv 如下所示:
Name Age Gender State City
N3 26 F KLM PQR
N4 23 M SC STM
我正在寻找如下输出在每个工作表数据之间包含一个空行:
Name Age Gender State City
N1 22 M Cal ABC
N2 32 M NC Dur
N3 26 F KLM PQR
N4 23 M SC STM
我试过了,但无法理解如何继续进行上述工作:
for excel in glob.glob(os.path.join(os.getcwd(), "*.xlsx")):
df=pd.read_excel(excel,sheet_name=0) #sheet1.csv is the first sheet in all excel
df.to_excel('Final.xlsx')
此代码仅保留 excel 文件的最后一个 csv 数据。请帮助解决上述问题。
【问题讨论】:
-
我能问一下你为什么想要一个空行吗?这在 pandas 中并不是特别有用,为什么不直接连接 csvs 并创建一个新列来标识数据来自哪个文件?
-
我必须放一个空行,因为 - 我还有一个 csv 文件,我必须以相同的方式将两者结合起来。
-
好的,知道了。我会寻找替代方案。然而,下面提供的答案似乎是合理的。我将根据需要进行编辑,同时牢记您的建议。
-
实际上,我重新阅读了这个问题,您只是将输出转储到 excel 中,而没有在 pandas 中进行任何处理,所以空行可能是有意义的,因为它是为了 excel 的利益 :)
-
这将帮助我与其他 csv 不同,我必须做其他操作,记住这就是为什么要寻找空行:)
标签: python excel python-3.x pandas csv