我的问题是执行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(Headers, usecols = Columns, sep = '\t').to_csv('f', index = False)
如pandas.read_csv中所述,在传递列表( header )时,read_csv()的第一个参数应为str,路径对象或类似文件的对象。
关于python - 文件类型列表声明问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64335756/