想通过python对制定文件夹内所有文本文件的内容进行按文件名和日期区别的归集,日期一列,内容股票名称一列,代码一列,来自的文件名一列,来自文件日期生成一列,(所有文件的内容都是固定的“股票名称(股票代码)”格式),归集写入Excel。然后每天接着之前的内容写入。
时间: 2023-02-16 08:07:37 浏览: 75
您可以使用 Python 的第三方库 pandas 和 openpyxl 来实现这个需求。首先,通过 os 模块遍历文件夹内所有文本文件,读取文件内容并解析出文件名、日期、股票名称、股票代码。然后使用 pandas 创建一个 DataFrame 存储这些信息,再使用 openpyxl 将 DataFrame 写入 Excel。每天再读取之前的 Excel 文件,添加新的数据并再次写入 Excel。
相关问题
将excel文件中sheet名作为文件夹名称,一列作为文件名,一列对应单元格的内容作为txt文本,以上用python批量创建
文件夹并将对应的文件和文本保存到相应的文件夹中,可以使用以下代码实现:
```python
import pandas as pd
import os
# 读取excel文件
excel_file = pd.ExcelFile('data.xlsx')
# 遍历每个sheet
for sheet_name in excel_file.sheet_names:
# 创建文件夹
folder_name = f'{sheet_name}_files'
if not os.path.exists(folder_name):
os.makedirs(folder_name)
# 读取数据
data = pd.read_excel(excel_file, sheet_name)
# 遍历每行数据
for index, row in data.iterrows():
# 获取文件名和文本内容
file_name = row['文件名']
text = row['文本内容']
# 创建文本文件并写入内容
with open(f'{folder_name}/{file_name}.txt', 'w') as f:
f.write(text)
# 创建空白文件
open(f'{folder_name}/{file_name}', 'a').close()
```
其中,`data.xlsx`为excel文件的文件名,`文件名`和`文本内容`分别为excel文件中的列名。代码会遍历每个sheet,创建以sheet名命名的文件夹,并在其中创建以`文件名`为名称的文件和`文件名.txt`为名称的文本文件,并将`文本内容`写入文本文件中。如果已经存在相应的文件夹,则不会重复创建。如果已经存在相应的文件或文本文件,则不会重复创建。
python批量修改文件夹里所有的txt文件的第一列数字,改为自己想用的数字。其余内容不变
你可以使用Python的os和re模块来实现这个需求,具体步骤如下:
1. 遍历文件夹中所有的txt文件;
2. 对于每个txt文件,读取其中的每一行,并使用正则表达式匹配第一列数字;
3. 将匹配到的数字替换为想要用的数字,并将该行写回原文件中;
4. 重复步骤2-3直到文件中的所有行都被处理完毕。
下面是一个示例代码,你可以根据自己的实际情况进行修改:
``` python
import os
import re
# 定义要修改的数字
new_num = 123
# 遍历文件夹中的所有txt文件
for filename in os.listdir('your_folder_path'):
if filename.endswith('.txt'):
filepath = os.path.join('your_folder_path', filename)
# 打开txt文件,并逐行读取
with open(filepath, 'r+') as f:
lines = f.readlines()
# 逐行匹配并替换数字
for i in range(len(lines)):
match = re.match(r'^(\d+)', lines[i])
if match:
old_num = match.group(1)
lines[i] = lines[i].replace(old_num, str(new_num), 1)
# 将修改后的内容写回原文件
f.seek(0)
f.write(''.join(lines))
f.truncate()
```
需要注意的是,上述代码中的`your_folder_path`需要替换为实际的文件夹路径。同时,如果你想要修改的数字包含在其他文本中,可能会出现误匹配的情况,所以需要根据实际情况进行修改。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)