python 读取txt,将每行存为list?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 读取txt,将每行存为list?相关的知识,希望对你有一定的参考价值。

txt数据如图一所示:label_0:['98全国图书情报学研究生学术研讨会在京举行', '《河北经济波动与产业结构优化》评介']label_1:['90年代以来我国工业发展和结构调整的新特点', 'ARCH预警系统的研究', '“李约瑟难题”求解述评']label_2:['《世纪之交的工业结构升级》评介', '一种基于改进的Akaike信息准则的相关关系检测的新方法']求指点:应如何操作可以将txt的每一行变成图二

import pandas as pd
df=pd.read_table(\'d:/data.txt\',sep=":",encoding=\'gbk\',header=None)
df.columns=[\'a\',\'b\']
df[\'b\']=df.b.map(lambda x:x[1:-1].replace("\'",\'\').replace(\' \',\'\'))
df1=pd.concat([df.a,df.b.str.split(\',\',expand=True)],axis=1)
df1=df1.set_index(\'a\')
df1=df1.stack().reset_index().drop(\'level_1\',axis=1)
df1.to_excel(\'d:/out_data.xlsx\',header=None,index=None)

参考技术A 读取txt很简单啊,代码如下
with open("test.txt", 'r') as f:
L= f.readlines()
L = [ i.rstrip().split(':') for i in L]
print(L)
这里的L就是你需要的列表,然后你用csv模块讲这个列表写入到csv文件就可以了。
参考技术B 可以按行读取,每读取一行append到list里面。 参考技术C 右侧是Excel或csv的文件。先读取信息,转化成数组(可以先冒号切割,后面是数组),然后按右图规则输出(csv是英文逗号作为列分隔符,Excel是tab)
切记左边一行,按数组里个数在右图是多行
参考技术D import numpy as np
import pandas as pd
#首先获得文件中的数据,把他变成列表一样的形式,这个列表形式是2列,3行
lis = []
with open('text.txt','r',encoding='gbk') as fr :
for line in fr:
line_list = line.strip().split(":")
#这里获得每一列的数据,再把他整合成总的二维数据
lis.append(line_list)
a = np.array(lis)
'''
[['label_0' "['98全国图书情报学研究生学术研讨会在京举行', '《河北经济波动与产业结构优化》评介']"]
['label_1' "['90年代以来我国工业发展和结构调整的新特点', 'ARCH预警系统的研究', '“李约瑟难题”求解述评']"]
['label_2' "['《世纪之交的工业结构升级》评介', '一种基于改进的Akaike信息准则的相关关系检测的新方法']"]]
'''
#然后就是生成列表了
df = pd.DataFrame(a)

'''
0 1
0 label_0 ['98全国图书情报学研究生学术研讨会在京举行', '《河北经济波动与产业结构优化》评介']
1 label_1 ['90年代以来我国工业发展和结构调整的新特点', 'ARCH预警系统的研究', '“李约瑟...
2 label_2 ['《世纪之交的工业结构升级》评介', '一种基于改进的Akaike信息准则的相关关系检测的...
'''
df.to_excel('a.xlsx',header=None,index=None)

以上是关于python 读取txt,将每行存为list?的主要内容,如果未能解决你的问题,请参考以下文章

读取每行的数据,加入到list中

python 如何读取excel文件 将每一行存为数组

python 读取文件转换为列表

水文日常~~Python如何按行读取txt文件中的数据并去除每行末尾的回车符

python中读取一个txt并按逗号分割每行放入数组

Python 如何使用一行代码读取全部内容出来(.txt文件,读取每行内容)