我需要寫入的表名稱不是在每個内容的最後面,我需要卸載每個内容相應加載每行後面import os import shutil from datetime import date src_folder = r"Y:\iplas\Robot_Log\SMT" dst_folder = r"D:\測試log" today = date.today() # create target folder if it does not exist if not os.path.exists(dst_folder): os.makedirs(dst_folder) # copy files and rename for file_name in os.listdir(src_folder): if file_name.endswith('.txt'): file_path = os.path.join(src_folder, file_name) if date.fromtimestamp(os.path.getmtime(file_path)) == today: new_file_name = f"{file_name[:-4]}_{today.strftime('%Y%m%d')}.txt" shutil.copy(file_path, os.path.join(dst_folder, new_file_name)) # write file contents with corresponding file names file_contents = [] for file_name in os.listdir(dst_folder): if file_name.endswith('.txt'): try: with open(os.path.join(dst_folder, file_name), 'r', encoding='gbk') as t: file_content = t.read().strip() file_contents.append(f"{file_content},{file_name}") except Exception as e: print(f"Error reading file {file_name}: {e}") with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f: f.write('\n'.join(file_contents))
时间: 2023-12-12 19:04:04 浏览: 75
如果你需要在每行后面添加表名,可以将以下代码插入到第一个for循环的内部:
```python
table_name = "your_table_name"
file_contents.append(f"{file_content},{file_name},{table_name}")
```
其中,"your_table_name" 是你需要插入的表名。这样,每个文件内容都将以"文件内容,文件名,表名"的格式写入到"汇总文档.txt"中。
相关问题
import pandas as pd import os import shutil import time from openpyxl import load_workbook import logging
好的,这段代码是用Python编写的一些常用库的导入语句,它们分别是:
1. `pandas`:一个强大的数据处理库,常用于数据分析和操作大型表格(DataFrame)。
2. `os`:操作系统模块,提供文件和目录操作的功能,如读取、写入文件路径,以及处理文件和目录结构。
3. `shutil`:高级文件和文件夹操作模块,支持复制、移动、删除等文件系统操作。
4. `time`:时间处理模块,可以获取当前时间、睡眠等待等,对于定时任务很有帮助。
5. `openpyxl`:一个用于读写Excel .xlsx/xlsm文件的库,主要用于处理电子表格数据。
6. `logging`:日志记录模块,用于创建和管理程序运行过程中的详细信息记录,有助于调试和错误追踪。
这段代码通常会在需要读取Excel数据并进行一些文件操作,同时需要记录日志的场景下使用。例如,可能会加载一个Excel文件到pandas DataFrame,然后对数据进行处理,期间通过`logging`记录关键步骤的信息。
這段代碼無法運行,請修改import os import shutil from datetime import date 指定目标文件夹路径和本地路径 src_folder = r"Y:\iplas\Robot_Log\SMT" dst_folder = "D:\測試log" 获取今天的日期 today = date.today() 遍历目标文件夹中的所有文件 for file_name in os.listdir(src_folder): if file_name.endswith('.txt'): file_path = os.path.join(src_folder, file_name) if date.fromtimestamp(os.path.getmtime(file_path)) == today: # 将文件名写入文档内容,以“,”分割 with open(file_path, 'a', encoding='gbk') as f: f.write(',{}'.format(file_name)) shutil.copy(file_path, os.path.join(dst_folder, file_name)) file_contents = [] for file_name in os.listdir(dst_folder): if file_name.endswith('.txt'): with open(os.path.join(dst_folder, file_name), 'r', encoding='gbk') as t: # 将文件名写在文档每行内容的后面,以“,”分割 file_contents.append(t.read().replace('\n', ',{}'.format(file_name))) with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f: f.write('\n\n'.join(file_contents))
根据你提供的代码,需要对代码进行以下修改:
1. 修改目标文件夹路径和本地路径为正确的路径。
2. 修改获取今天日期的代码为:
```python
today = date.today().strftime('%Y-%m-%d')
```
3. 修改遍历目标文件夹中的所有文件的代码为:
```python
for file_name in os.listdir(src_folder):
if file_name.endswith('.txt'):
file_path = os.path.join(src_folder, file_name)
if date.fromtimestamp(os.path.getmtime(file_path)).strftime('%Y-%m-%d') == today:
# 将文件名写入文档内容,以“,”分割
with open(file_path, 'a', encoding='gbk') as f:
f.write(',{}'.format(file_name))
shutil.copy(file_path, os.path.join(dst_folder, file_name))
```
4. 修改读取文件内容的代码为:
```python
file_contents = []
for file_name in os.listdir(dst_folder):
if file_name.endswith('.txt'):
with open(os.path.join(dst_folder, file_name), 'r', encoding='gbk') as t:
# 将文件名写在文档每行内容的后面,以“,”分割
file_contents.append('{}\n{}'.format(t.read().strip(), file_name))
with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f:
f.write('\n\n'.join(file_contents))
```
这样修改后,代码就可以正常运行了。
阅读全文