我正在通过创建临时中间文件将一种文件格式转换为另一种文件格式。以下是我的代码:
import tempfile
import pandas as pd
from pandas import DataFrame
def convert_binary_step1(file1,file2,file3):
source=open(file1)
SampleList=convert_file_to_list(file2)
dest=open(file3,'w')
ti= tempfile.NamedTemporaryFile(delete=False)
l=[]
for line in source:
a=line.split()
del a[-1]
for i in range(len(SampleList)):
if SampleList[i] in a:
l.append("1")
else:
l.append("0")
data=a[0]+"\t"+"\t".join(l)+"\n"
ti.write(data.encode("utf-8"))
del l[:]
source1=pd.read_csv(ti,sep="\t",encoding='utf-8',header=None)
dest=source1.transpose()
dest.to_csv(file3,sep="\t",header=None,index=None)
source.close()
dest.close()
ti.close()
def convert_file_to_list(file2):
source11=open(file2)
li=[]
for lin in source11:
b=lin.split()
li+=[b[0]]
return li
source11.close()
但是,代码生成错误 - EmptyDataError:没有要从文件中解析的列。
答案 0 :(得分:1)
试试这个 - 它将返回到文件的顶部:
file.seek(0)