所以基本上我得到了一个 xlsm 文档,它包含一个工作表“数据”和一个图表,图表是从数据生成的。
我有 5 个 CSV 文件。
我需要删除数据的内容,然后用 5 个 CSV 文件填充它。
是否可以不将我的 csv 文件放入数组中并每行写入它们(非常耗时)。
我可以打开我的 CSV 文件并将它们粘贴到数据表中吗?
谢谢
所以基本上我得到了一个 xlsm 文档,它包含一个工作表“数据”和一个图表,图表是从数据生成的。
我有 5 个 CSV 文件。
我需要删除数据的内容,然后用 5 个 CSV 文件填充它。
是否可以不将我的 csv 文件放入数组中并每行写入它们(非常耗时)。
我可以打开我的 CSV 文件并将它们粘贴到数据表中吗?
谢谢
您可以在 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())
然后就可以output.csv
用excel打开了。
如果您不想手动列出所有输入文件,可以使用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