python pandas读取excel文件并创立新文件夹并根据内容进行了重命名,把指定内容写入生成的txt文件放入新文件夹中,在生成的多个txt文件里有空行,怎么读取新生成的文件夹里所有的txt文件,然后把txt文件里的空行给消除
时间: 2024-04-30 15:22:41 浏览: 211
以下是一个示例代码,实现了读取Excel文件并创建新文件夹,并根据内容进行重命名,并将指定内容写入生成的txt文件放入新文件夹中的功能。同时,它还演示了如何读取新生成的文件夹中的所有txt文件,并将其中的空行删除。
```python
import pandas as pd
import os
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 创建新文件夹
if not os.path.exists('new_folder'):
os.makedirs('new_folder')
# 根据内容进行重命名,并将指定内容写入生成的txt文件放入新文件夹中
for index, row in df.iterrows():
filename = 'new_folder/' + str(row['ID']) + '_' + row['Name'] + '.txt'
with open(filename, 'w') as f:
f.write('ID: ' + str(row['ID']) + '\n')
f.write('Name: ' + row['Name'] + '\n')
f.write('Content: ' + row['Content'])
# 读取新生成的文件夹中的所有txt文件,并将其中的空行删除
for filename in os.listdir('new_folder'):
if filename.endswith('.txt'):
with open('new_folder/'+filename, 'r') as f:
lines = f.readlines()
with open('new_folder/'+filename, 'w') as f:
for line in lines:
if line.strip():
f.write(line)
```
这个代码示例假设Excel文件名为“data.xlsx”,其中包含以下列:ID、Name和Content。它还假定新文件夹名为“new_folder”,可以根据需要进行更改。请注意,如果新文件夹已经存在,则不会创建它。如果要在每次运行时重新创建文件夹,请在代码中添加相应的逻辑。
在第一个循环中,我们使用df.iterrows()方法遍历数据框中的每一行,并根据ID和Name创建新的文件名。然后,我们使用Python的内置open()函数创建文件,并将所需的内容写入其中。在这个例子中,我们将ID、Name和Content写入每个txt文件中。
在第二个循环中,我们使用os.listdir()方法列出新文件夹中的所有文件名,并使用字符串的endswith()方法筛选出仅为txt文件的文件名。然后,我们使用内置的open()函数打开每个文件,并使用readlines()方法读取其所有行。接下来,我们使用一个简单的for循环遍历文件中的每一行,并使用strip()方法删除其中的空格和换行符。最后,我们使用write()方法写入每一行到同一文件中,从而删除空行。
阅读全文