我正在运行一个python脚本,其基本思想是扫描目录中的文本文件,例如:
files = glob.glob("*.txt")
files
-------
output:
['name_6-076_01.txt',
'name_6-077_00.txt',
'name_6-077_01.txt',
'name_6-078_00.txt',
'name_6-078_01.txt',
'name_6-079_00.txt']
[请注意*077*.txt
它有两个与_00 and _01
相同的条目*078*.txt
(我有一些文件列表,甚至更多)。
我正在尝试将这些文件(来自*077*
)放到一个excel工作表中(考虑导出到excel)。
lane_spot = ['Spot_6-076_01', 'Spot_6-077_00', 'Spot_6-077_01', 'Spot_6-078_00', 'Spot_6-078_01', 'Spot_6-079_00']
spotlanes()
是一个返回数据帧的函数。
writer = pd.ExcelWriter(f'Summary_{datetime.now().strftime("%Y-%m-%d_%H%M%S")}.xlsx')
我在这方面很成功。但是升级到Pandas(从0.23.4到1.0.3)已经破坏了一切。
下面是对我有用的代码,没有任何问题:
for i in range(len(files)):
try:
if (files[i][:-7] == files[i-1][:-7]):
sheet = lane_spot[i-1]
lane = spotlanes(files[i])
lane[f'{lane_spot[i]}'] = [f'{lane_spot[i]}', f'{lane_spot[i]}']
lane.set_index(f'{lane_spot[i]}',append=True, inplace=True)
lane.index = lane.index.swaplevel(0,1)
lane = lane.rename_axis(['Spot','Method'])
lane.to_excel(writer,sheet_name=f'{sheet}',index=True, startrow=3)
writer.save()
else:
sheet = lane_spot[i]
lane = spotlanes(files[i])
lane[f'{lane_spot[i]}'] = [f'{lane_spot[i]}', f'{lane_spot[i]}']
lane.set_index(f'{lane_spot[i]}',append=True, inplace=True)
lane.index = lane.index.swaplevel(0,1)
lane = lane.rename_axis(['Spot','Method'])
lane.to_excel(writer,sheet_name=f'{sheet}',index=True)
writer.save()
except IndexError:
print("EOF")
在外部并根据需要测试了相同的代码:
In [14]: for i in range(len(files)):
...: try:
...: if (files[i][:-7] == files[i-1][:-7]):
...: print(f'sheet{i-1} appended', lane_spot[i])
...: else:
...: print(f'sheet{i}', lane_spot[i])
...:
...: except IndexError:
...: print("fo")
...:
...:
sheet0 Spot_6-076_01
sheet1 Spot_6-077_00
sheet1 appended Spot_6-077_01
sheet3 Spot_6-078_00
sheet3 appended Spot_6-078_01
sheet5 Spot_6-079_00
sheet5 appended Spot_6-079_01
sheet7 Spot_6-080_00
sheet7 appended Spot_6-080_01
sheet9 Spot_7-008_00
sheet9 appended Spot_7-008_01
sheet11 Spot_7-009_00
因此,基本上,在第一次迭代后,它没有将任何内容写入excel工作表。工作正常,床单也越来越好。你能告诉我excel引擎是否有功能,我有openpyxl
和xlsxwriter
,尽管我没有同时使用它们。
我需要将输出输出到具有相应excel工作表中内容的excel文件中>
我正在运行一个python脚本,其基本思想是扫描目录中的文本文件,例如:files = glob.glob(“ *。txt”)files -------输出:['name_6-076_01.txt ','name_6-077_00.txt','name_6 -...
我想出了问题。