我有一些代码为.csv执行此任务(感谢Michal K的帮助)。
关于如何将其更改为在.xls文件而不是.csv文件目录上工作的任何想法?
import csv
import os
for file_name in os.listdir("c:/projects/files"):
with open(file_name,'r') as csvinput:
reader = csv.reader(csvinput)
all = []
row = next(reader)
row.append('FileName')
all.append(row)
for row in reader:
row.append(file_name)
all.append(row)
with open(file_name, 'w') as csvoutput:
writer = csv.writer(csvoutput, lineterminator='\n')
writer.writerows(all)
答案 0 :(得分:0)
Excel电子表格比CSV文件稍微复杂一些,因此我建议使用导入的模块,例如openpyxl。
这允许您从文件中获取工作表(选项卡),并根据需要操作列和行。
一般程序结构如下所示:
for file_name in os.listdir("c:/projects/files"):
if file_name.endswith('.xls'):
workbook = openpyxl.load_workbook(file_name)
# Get worksheets
# Manipulate columns and rows
workbook.save(file_name)
有一个关于使用openpyxl here
的非常好的教程答案 1 :(得分:0)
用于读写excel和csv文件,pandas
非常方便
import pandas as pd
csv_data = pd.read_csv(csv_filename, header=0) # you can define the exact csv format with further arguments
csv_data['filename'] = csv_filename #adds a column with the filename
excel_data = pd.read_excel(excel_filename)
excel_data['filename'] = excel_filename
csv_data.to_csv(output_csv)
excel_data.to_excel(output_excel)
您也可以将csv导出为excel,反之亦然
excel_data.to_csv(output_excel_csv)
csv_data.to_excel(output_csv_excel)