【发布时间】:2021-05-03 02:14:06
【问题描述】:
我有一个如下的数据框:
import pandas as pd
data = {'Words':['actually','he','came','from','home','and','played'],
'Col2':['2','0','0','0','1','0','3']}
data = pd.DataFrame(data)
数据框如下所示:
我使用以下命令将此数据帧写入驱动器:
np.savetxt('/folder/file.txt', data.values,fmt='%s', delimiter='\t')
下一个脚本会使用以下代码行读取它:
data = load_file('/folder/file.txt')
下面是读取文本文件的 load_file 函数。
def load_file(filename):
with open(filename, 'r', encoding='utf-8') as f:
data = f.readlines()
return data
数据将是一个制表符分隔列表。
print(data)
给我以下输出:
['actually\t2\n', 'he\t0\n', 'came\t0\n', 'from\t0\n', 'home\t1\n', 'and\t0\n', 'played\t3\n']
我不想将文件写入驱动器然后读取它进行处理。相反,我想将数据框转换为制表符分隔的列表并直接处理。我怎样才能做到这一点?
我检查了现有答案,但大多数只是将列表转换为数据框,而不是其他方式。
提前致谢。
【问题讨论】:
-
可以使用
data = load_file(data.to_csv(sep='\t'))吗? -
使用 pandas pd.to_csv(data,sep='\t',index=None)
-
data.to_csv(header=None, index=False, sep='\t').split('\n')?? -
Python 列表没有分隔符,但逗号用于显示列表。您可以使用制表符和换行符创建一个字符串。你在做什么处理?
标签: python-3.x pandas list dataframe numpy