Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python或Unix操作文本文件_Python_File_Unix_Text - Fatal编程技术网

使用Python或Unix操作文本文件

使用Python或Unix操作文本文件,python,file,unix,text,Python,File,Unix,Text,我有一个非常大的文本文件,其中包含数据,但它的格式不是我需要输入到其他工具中的格式。由于某种原因,我就是不能正确地理解代码。文件太大,无法在Excel中打开进行修改 这就是我所拥有的: 这就是我需要的: 非常感谢您的帮助!提前感谢。您可以使用pandas中的pivot table 将excel文件另存为以制表符分隔的文件,并将其读入文件 import pandas as pd file_name ="path/to/data.tsv" df = pd.read_csv(file_name

我有一个非常大的文本文件,其中包含数据,但它的格式不是我需要输入到其他工具中的格式。由于某种原因,我就是不能正确地理解代码。文件太大,无法在Excel中打开进行修改

这就是我所拥有的:

这就是我需要的:


非常感谢您的帮助!提前感谢。

您可以使用pandas中的pivot table

将excel文件另存为以制表符分隔的文件,并将其读入文件

import pandas as pd

file_name ="path/to/data.tsv" 
df = pd.read_csv(file_name, sep='\t')

df = df.pivot_table(values='Value', index=df["GENE_ID"], columns='Sample_id', aggfunc='first')
例如:

df = pd.DataFrame({'GENE_ID': {0: 'GeneA', 1: 'GeneA', 2:'GeneA', 3:'GeneB', 4: 'GeneB', 5: 'GeneB', 6:'GeneC'}, 
                  'Sample_id': {0:'Sample1', 1: 'Sample3', 2: 'Sample2', 3: 'Sample1', 4: 'Sample2', 5:'Sample3', 6:'Sample1'}, 'Value': {0: 10, 1:11, 2: 5, 3: 4, 4:4, 5:3, 6:8} } )
df

df


欢迎来到stackoverflow。你应该试着用一个可复制的例子来包含一些你已经尝试过的代码!谢谢-我知道我应该首先给出一些代码。谢谢。
GENE_ID     Sample_id   Value
0   GeneA   Sample1     10
1   GeneA   Sample3     11
2   GeneA   Sample2     5
3   GeneB   Sampl1  4
4   GeneB   Sample2     4
5   GeneB   Sample3     3
6   GeneC   Sample1     8



df.pivot_table(values='Value', index=df["GENE_ID"], columns='Sample_id', aggfunc='first')
Sample_id   Sampl1  Sample1     Sample2     Sample3
GENE_ID                 
GeneA   NaN     10.0    5.0     11.0
GeneB   4.0     NaN     4.0     3.0
GeneC   NaN     8.0     NaN     NaN