我有一些代码可以读取HTML文件的列表,从每个文件中获取一些信息,然后将它们显示在CSV文件中。在
其中一部分是使用文件名中的数字来显示数据行来自哪个小时(例如,文件名是Report_H1.html)。但是,为了让这些数字以正确的顺序显示,我在每个数字中填充了0,使它们都有2个小数位。在
将这些写入CSV文件时,前导的0将被删除。我怎样才能防止这种情况发生?在
将代码编辑为导致我的问题的部分:import re
import csv
import os
BASE_DIRECTORY = "C:\\Users\\MHE36\\Documents"
fileList = []
for (dirpath, dirnames, filenames) in os.walk(BASE_DIRECTORY):
for f in filenames:
if 'html' in str(f):
e = os.path.join(str(dirpath), str(f))
boxName = os.path.dirname(e)
box = os.path.basename(boxName)
fileDict = {}
fileList.append(fileDict)
match = re.search(r'\d+', f)
if match:
fileDict['Hour'] = str(match.group(0).zfill(2))
with open('C:\\Users\\MHE36\\Documents\\test.csv', 'w') as f:
w = csv.DictWriter(f, ['Hour'])
w.writeheader()
for fileDict in fileList:
w.writerow(fileDict)
print(fileList)
print(fileDict)
这是打印命令的输出:
^{pr2}$
在上面的prints中,我可以看到前面的0是按我的需要添加的。但是,在CSV文件中,我得到了以下信息:Hour
1
我要的是:Hour
01
提前谢谢。在