文件类型列表声明存在问题



我的问题是,在执行python脚本后,我遇到了一个错误,我就是不知道错误是什么!这是我的代码:

import numpy as np
import pandas as pd
import io
import os
import csv
import sys
from numpy import *
from matplotlib.pyplot import *
import matplotlib.pyplot as plt
import matplotlib as mpl
import time
import pylab
from matplotlib import cm
import matplotlib.artist as artists
from matplotlib.pyplot import savefig
from matplotlib.lines import Line2D

# S'assurer de bien mettre le chemain vers le fichier data souhaite et le modifier si besoin : ici les tack MW pour M=9Msoleil
data = "/home/Desktop/MW/BoOST-stellarmodels-MW/f009-100.mw.dat"
#indexes des colonnes
Nom = "/home/Desktop/MW/BoOST-stellarmodels-MW/fdat-columns.txt"

# Open a dataframe that contains the file root
f = pd.read_csv(data, sep = 't', decimal = '.', engine = 'python') 
# Open a Dataframe for the head row that is in a separate file
Headers = pd.read_csv (Nom, index_col = 0, nrows = 0, sep ='t').columns.values.tolist()
Columns = ['status']
#Combine the two Dataframes into one file that contains all the datas
Res = pd.read_csv(Headers, usecols = Columns, sep = 't').to_csv('f', index = False)

#Write a .dat file to visualise the results
print (Headers)   #Terminal
open ('Tracks.dat', 'wb')
Res.to_csv ('Tracks.dat', sep = 't', encoding = 'utf-8')

出现的错误是:

File "essai", line 36, in <module>
Res = pd.read_csv(Headers, usecols = Columns, sep = 't').to_csv('f', index = False)
File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 678, in parser_f
return _read(filepath_or_buffer, kwds)
File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 424, in _read
filepath_or_buffer, encoding, compression)
File "/usr/lib64/python2.7/site-packages/pandas/io/common.py", line 218, in get_filepath_or_buffer
raise ValueError(msg.format(_type=type(filepath_or_buffer)))
ValueError: Invalid file path or buffer object type: <type 'list'>

我不知道这是路径问题,还是列表没有很好地声明。。。。有人能帮忙吗?

我认为问题是这一行的第一个参数:

Res=pd.read_csv(标题,usecols=列,sep='\t'(.to_csv('f',index=False(

如pandas.read_csv中所述,read_csv((的第一个参数应该是str、路径对象或类似文件的对象,而您传递了一个列表(Headers(

一个小更新,我试过使用Pd.read_fwf,效果很好!

最新更新