在Python 2.5中将CSV文件内容粘贴到Excel表格中

0 投票
1 回答
1380 浏览
提问于 2025-04-17 17:34

基本上,我有一个xlsm文档,它里面有一个叫“data”的表格和一个图表,这个图表是根据数据生成的。

我有5个CSV文件。

我需要清空“data”表格的内容,然后用这5个CSV文件填充它。

有没有办法可以做到这一点,而不需要把我的CSV文件放进一个数组里,然后一行一行地写入(这会非常耗时)。

我能不能直接打开我的CSV文件,然后把它们粘贴到“data”表格里?

谢谢!

1 个回答

2

你可以直接在Excel中打开CSV文件,而且你还可以把多个CSV文件合并成一个更大的文件,方法是使用

my_files = ['file_1.csv', 'file_2.csv', 'file_3.csv', 'file_4.csv', 'file_5.csv']

with open('output.csv', 'w') as oo:
    for file in my_files:
        with open(file, 'r') as io:
            oo.write(io.readlines())

然后你可以在Excel中打开output.csv

如果你不想手动列出所有的输入文件,可以使用glob

>>> my_files = glob.glob('file_*.csv')
>>> my_files
... ['file_1.csv', 'file_2.csv', 'file_3.csv', 'file_4.csv', 'file_5.csv']

其实还有一个可以读写Excel文件的Python模块,详细信息可以在这里找到。你可以用它直接写入Excel文件:

import xlwt

w = xlwt.Workbook()
ws = w.add_sheet('First sheet')

i = 0
for file in my_files:
    with open(file, 'r') as fo:
    for line in fo.readlines():
       for j, col in enumerate(line.split(',')):
           ws.write(i, j, col)
           i += 1

撰写回答