使用pycharm 合并多个excel 到一个excel的不同sheet页,但其中一个excel有近60万行数据
时间: 2024-05-12 22:20:43 浏览: 165
1. 首先,你可以使用pandas库来读取每个excel文件并将它们合并到一个DataFrame中,然后将DataFrame写入到一个新的excel文件中。
```python
import pandas as pd
# 读取多个excel文件并合并到一个DataFrame中
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')
df3 = pd.read_excel('file3.xlsx')
df = pd.concat([df1, df2, df3], ignore_index=True)
# 写入到一个excel文件中,每个DataFrame写入到一个sheet页中
with pd.ExcelWriter('merged.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
df3.to_excel(writer, sheet_name='Sheet3')
df.to_excel(writer, sheet_name='Sheet4')
```
2. 如果你的其中一个excel文件有近60万行数据,可能会导致内存不足的问题。在这种情况下,你可以使用pandas的`read_excel`函数的`chunksize`参数来逐块读取数据,然后将它们合并到一个DataFrame中。
```python
import pandas as pd
# 定义一个空的DataFrame
df = pd.DataFrame()
# 逐块读取每个excel文件并合并到一个DataFrame中
for chunk in pd.read_excel('big_file.xlsx', chunksize=10000):
df = pd.concat([df, chunk], ignore_index=True)
# 读取其它excel文件并合并到一个DataFrame中
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')
df3 = pd.read_excel('file3.xlsx')
df = pd.concat([df, df1, df2, df3], ignore_index=True)
# 写入到一个excel文件中,每个DataFrame写入到一个sheet页中
with pd.ExcelWriter('merged.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
df3.to_excel(writer, sheet_name='Sheet3')
df.to_excel(writer, sheet_name='Sheet4')
```
阅读全文