写一个将一个csv文件的前三列复制到另一个已有xlsx文件的6,7,8,列的python代码,不改变xlsx原有数据。
时间: 2024-05-02 12:20:54 浏览: 82
这里提供一种使用pandas库的方法:
```python
import pandas as pd
# 读取csv文件
df_csv = pd.read_csv('input.csv', usecols=[0, 1, 2])
# 读取xlsx文件
df_xlsx = pd.read_excel('input.xlsx')
# 复制前三列到6、7、8列
df_xlsx.insert(5, 'new_col1', df_csv.iloc[:, 0])
df_xlsx.insert(6, 'new_col2', df_csv.iloc[:, 1])
df_xlsx.insert(7, 'new_col3', df_csv.iloc[:, 2])
# 写入到新的xlsx文件中
with pd.ExcelWriter('output.xlsx') as writer:
df_xlsx.to_excel(writer, index=False)
```
这里假设csv文件的路径为'input.csv',xlsx文件的路径为'input.xlsx',复制后的新文件路径为'output.xlsx'。
其中,`usecols=[0, 1, 2]`表示只读取csv文件的前三列;`df_csv.iloc[:, 0]`表示取csv文件的第一列数据;`df_xlsx.insert(5, 'new_col1', df_csv.iloc[:, 0])`表示将csv文件的第一列数据插入到xlsx文件的第6列(因为Python的索引从0开始,所以第6列对应的索引为5)。
通过这种方法,可以将csv文件的前三列数据复制到xlsx文件中,同时不改变xlsx文件原有的数据。
阅读全文