如何将扩展名为.txt的逗号sep值作为数组读入python?

2024-05-16 03:16:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我是生物学家,对Python非常陌生,在此之前,我学了一点R

所以我有一个非常大的文本文件(3gb,太大了,无法在R中处理),所有的值都用逗号分隔,但是扩展名是.txt(我不知道它是否是必要的信息)。我想做的是:

把它作为一个对象读入python,它相当于R中的dataframe, 去掉中间的柱子 缩小对象的大小 以txt文件形式写入

把剩下的带到R

如果你能帮我,我会很高兴的。 谢谢你


Tags: 文件对象txt信息dataframe形式逗号文本文件
3条回答

我不熟悉r dataframe,但是pandas提供{a1}将csv读入pandas dataframe:

from pandas import read_csv    
df = read_csv('yourfile.txt')
print df
print df['Line']

如果这不是您需要的,您可以使用^{}模块以python列表的形式遍历csv的每一行,并将其放入您想要的任何数据结构中。在

没有必要先研究python。你的问题看起来很像this question。标记为正确答案的答案迭代地读取大文件,并创建一个新的更小的文件。其他好的选择是使用sqlitesqdf包,或者使用ff包。最后一种方法尤其有效,因为列的数量比行的数量少。在

这将占用最少的内存,因为它不会一次加载整个文件。在

import csv
with open('in.txt', 'rb') f_in, open('out.csv', 'wb') as f_out:
    reader = csv.reader(f_in)
    writer = csv.writer(f_out)
    for row in reader:
        # keep first two columns and last three columns
        writer.writerow(row[:2] + row[-3:])

注意:如果使用python3,请将文件模式分别更改为'r'和{}。在

相关问题 更多 >