使用 Python 读取 txt 并写入 Excel,并按照空格分列
时间: 2024-05-15 15:14:59 浏览: 76
以下是使用 Python 读取 txt 文件并将其写入 Excel 并按照空格分列的示例代码:
```python
import openpyxl
# 打开 txt 文件并按行读取
with open('example.txt', 'r') as f:
lines = f.readlines()
# 创建 Excel 文件并获取第一个工作表
wb = openpyxl.Workbook()
ws = wb.active
# 将每一行数据按空格分列并写入 Excel
for i, line in enumerate(lines):
data = line.strip().split()
for j, item in enumerate(data):
ws.cell(row=i+1, column=j+1, value=item)
# 保存 Excel 文件
wb.save('example.xlsx')
```
其中,我们使用 `openpyxl` 库来操作 Excel 文件,使用 `open()` 函数读取 txt 文件并按行读取数据,然后使用 `strip()` 方法去掉每一行数据的空白字符,再使用 `split()` 方法按空格分列。最后,我们使用 `cell()` 方法将每一个数据项写入 Excel 文件中,并使用 `save()` 方法保存 Excel 文件。
相关问题
通过python实现对excel删除开头空格,删除英文引号和逗号,根据空格分列,并且转换为文本格式 ,从第二行开始
可以使用Python的pandas库来进行excel的处理。首先需要安装pandas库,可以在命令行中输入以下命令进行安装:
```
pip install pandas
```
然后可以使用以下代码来实现对excel的处理:
```python
import pandas as pd
# 读取excel文件
df = pd.read_excel('input_file.xlsx', header=None, skiprows=1)
# 删除开头空格、英文引号和逗号
df = df.applymap(lambda x: str(x).lstrip().replace('"', '').replace(',', ''))
# 根据空格分列
df = df[0].str.split(expand=True)
# 转换为文本格式
df = df.astype(str)
# 写入excel文件
df.to_excel('output_file.xlsx', index=False, header=False)
```
其中,`read_excel`方法用于读取指定的excel文件,`header=None`表示没有列名,`skiprows=1`表示跳过第一行(即标题行)。`applymap`方法用于对每个单元格应用指定的函数,这里使用了lambda表达式来删除空格、英文引号和逗号。`str.split`方法用于根据空格进行列分割,`expand=True`表示将分割后的结果扩展为多列。最后,使用`astype`方法将数据转换为文本格式,再使用`to_excel`方法将数据写入到指定的excel文件中。
Python:从名为“TT_02”的txt文档中逐行读取数据,当该行数据中包含了“nvme”字符的时候,则将改行数据提取出来,依据空格进行分列并保存到“TT_02”的excel中,
在Python中,你可以使用`pandas`库来实现这个需求。首先确保安装了`pandas`和`openpyxl`这两个库,如果没有,可以通过`pip install pandas openpyxl`来安装。
下面是一个简单的步骤示例:
1. 导入需要的库:
```python
import pandas as pd
```
2. 定义读取txt文件和处理数据的函数:
```python
def read_and_process_txt(file_name):
data = []
with open(file_name, 'r') as f:
for line in f:
if 'nvme' in line:
columns = line.strip().split(' ') # 去除首尾空白并按照空格分列
data.append(columns)
return data
```
3. 将数据写入Excel文件:
```python
def write_to_excel(input_data, output_file_name):
df = pd.DataFrame(input_data) # 转换为DataFrame
df.to_excel(output_file_name, index=False) # 写入Excel文件
# 使用函数
input_data = read_and_process_txt("TT_02.txt")
write_to_excel(input_data, "TT_02_processed.xlsx")
```
上述代码首先逐行读取`TT_02.txt`文件,如果行中含有"nvme",则使用`split(' ')`将该行数据根据空格切分成列,并添加到列表`data`中。最后,将这个列表转换成`pandas` DataFrame并写入新的Excel文件`TT_02_processed.xlsx`。
阅读全文