用python文件读取txt文件,解析每一行, 如果行里面有":", 按照第一个“:” 分割;前面的数据作为dataframe的表名称;后面的数据再按照“,”分割, 分割后的每一组数据,再按照“=”, 再分割,前面的数据作为列, 后面的数据转化为字符串格式,再存为该列的值。
时间: 2024-09-10 22:04:10 浏览: 73
python读取txt文件并取其某一列数据的示例
5星 · 资源好评率100%
要用Python读取txt文件,并解析每一行来创建DataFrame,你可以按照以下步骤进行:
1. 首先,使用Python的内置`open`函数以读取模式打开txt文件。
2. 然后,逐行读取文件内容。
3. 对于每一行,检查是否包含冒号(:)。
4. 如果存在冒号,首先按第一个冒号分割字符串,取冒号前的部分作为DataFrame的表名称。
5. 接着,对冒号后的字符串部分按照逗号(,)进行分割,得到一个列表。
6. 对列表中的每个元素再按照等号(=)进行分割,取等号前的部分作为列名,等号后的部分转换为字符串后作为该列的值。
7. 将这些列名和对应的值作为字典,再创建一个DataFrame。
以下是实现这个过程的Python代码示例:
```python
import pandas as pd
# 创建一个空的字典来存储所有的DataFrame
dataframes = {}
# 打开txt文件
with open('yourfile.txt', 'r') as file:
for line in file:
if ':' in line:
# 按第一个冒号分割,获取表名称
table_name, data_part = line.split(':', 1)
data_part = data_part.strip()
# 按逗号分割,获取每一组键值对
data_dict = {}
for item in data_part.split(','):
key, value = item.split('=', 1)
data_dict[key.strip()] = value.strip()
# 创建DataFrame并存入字典
dataframes[table_name.strip()] = pd.DataFrame([data_dict])
# 输出所有创建的DataFrame
for table_name, df in dataframes.items():
print(f"Table Name: {table_name}")
print(df)
print()
```
请将`'yourfile.txt'`替换为你的txt文件的实际路径和文件名。这段代码假设每行的数据格式是正确的,并且每个表只有一行数据。如果有多个相同表名的数据行,它们会被覆盖。
阅读全文