如果每行的数据列数不同,如何一行一行读取txt文件中的数据将它变成一列,第一行的数据行标签都为1,第二行的数据行标签都为2,以此类推
时间: 2024-05-08 22:19:48 浏览: 113
matlab中实现矩阵删除一行或一列的方法
5星 · 资源好评率100%
可以使用Python中的pandas库。可以使用pandas中的函数读取txt文件并将其转换为数据框。然后,可以使用transpose函数将数据框转置。接下来,可以为每行添加标签并将其纵向堆叠。以下是示例代码:
```python
import pandas as pd
# 读取txt文件为数据框
df = pd.read_csv('file.txt', sep='\t', header=None)
# 转置数据框
df = df.transpose()
# 添加标签并堆叠
stacked = pd.DataFrame()
for i in range(len(df)):
label = pd.DataFrame([(i+1)] * len(df.iloc[i]))
temp = pd.concat([label, df.iloc[i].reset_index(drop=True)], axis=1)
stacked = pd.concat([stacked, temp])
# 结果保存为csv文件
stacked.to_csv('result.csv', index=False, header=False)
```
其中,`file.txt`是输入的txt文件名称,`sep='\t'`表示数据是以制表符分隔的,`header=None`表示没有列名。结果会保存为`result.csv`文件,其中第一列是标签,后面的列是每一行的数据。
阅读全文