用python将多个csv文件写入到一个excel文件的多个sheet中
时间: 2023-04-08 22:04:38 浏览: 141
可以使用 pandas 库来实现这个功能。具体步骤如下:
1. 导入 pandas 库
```python
import pandas as pd
```
2. 读取多个 csv 文件并合并成一个 DataFrame
```python
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
df3 = pd.read_csv('file3.csv')
df = pd.concat([df1, df2, df3])
```
3. 创建 ExcelWriter 对象并将 DataFrame 写入多个 sheet 中
```python
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, sheet_name='Sheet1')
df1.to_excel(writer, sheet_name='Sheet2')
df2.to_excel(writer, sheet_name='Sheet3')
df3.to_excel(writer, sheet_name='Sheet4')
writer.save()
```
这样就可以将多个 csv 文件写入到一个 excel 文件的多个 sheet 中了。
相关问题
python怎么将多个csv文件内容写入到一个新的excel里
可以使用pandas模块将多个CSV文件内容写入到一个新的Excel文件中。具体步骤如下:
1. 首先,导入pandas模块和os模块,用于读取CSV文件和创建Excel文件。
```
import pandas as pd
import os
```
2. 创建一个空的Excel文件,并设置文件名和工作表名。
```
writer = pd.ExcelWriter('new_file.xlsx', engine='xlsxwriter')
```
3. 使用os模块遍历多个CSV文件,并将每个文件的内容读取到一个pandas DataFrame对象中。
```
for file in os.listdir('csv_files'):
if file.endswith('.csv'):
df = pd.read_csv(os.path.join('csv_files', file))
```
4. 将每个DataFrame对象写入到Excel文件中的一个工作表中。
```
df.to_excel(writer, sheet_name=file[:-4], index=False)
```
5. 最后,保存并关闭Excel文件。
```
writer.save()
```
完整代码如下:
```
import pandas as pd
import os
# Create a new Excel file
writer = pd.ExcelWriter('new_file.xlsx', engine='xlsxwriter')
# Loop through CSV files and write each file to a separate sheet in the Excel file
for file in os.listdir('csv_files'):
if file.endswith('.csv'):
# Read CSV file into a pandas DataFrame
df = pd.read_csv(os.path.join('csv_files', file))
# Write DataFrame to Excel file
df.to_excel(writer, sheet_name=file[:-4], index=False)
# Save and close the Excel file
writer.save()
```
python将多个csv文件第二列合并到一个sheet
可以使用 pandas 库来实现这个任务。以下是一种可能的方法:
```python
import pandas as pd
# 读取第一个 CSV 文件
df = pd.read_csv('file1.csv', usecols=[1])
# 循环读取并合并其他 CSV 文件的第二列
for i in range(2, num_files+1):
filename = f'file{i}.csv'
tmp_df = pd.read_csv(filename, usecols=[1])
df = pd.concat([df, tmp_df], axis=0)
# 将结果写入 Excel 文件的一个 sheet 中
with pd.ExcelWriter('output.xlsx') as writer:
df.to_excel(writer, sheet_name='merged')
```
其中,`usecols=[1]` 表示只读取 CSV 文件的第二列,`pd.concat([df, tmp_df], axis=0)` 表示将两个 DataFrame 沿着行方向合并。最终结果会被写入到一个名为 `merged` 的 sheet 中。你需要将 `num_files` 替换为实际的 CSV 文件数量。
阅读全文