【问题标题】:Issues with files type list declaration文件类型列表声明的问题
【发布时间】:2020-10-13 12:57:06
【问题描述】:

我的问题是在执行我的 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'>

不知道是路径问题,还是列表没有很好地声明...... 有人可以帮忙吗?

【问题讨论】:

    标签: python database list dataframe compiler-errors


    【解决方案1】:

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

    Res = pd.read_csv(Headers, usecols = Columns, sep = '\t').to_csv('f', index = False)

    正如pandas.read_csv中提到的,read_csv()的第一个参数应该是str,路径对象或者类文件对象,而你传递的是一个列表(Headers)

    【讨论】:

    • 是的,我现在看到了,但我不知道还有什么可以用来合并这两个文件夹....
    【解决方案2】:

    一个小更新,我试过Pd.read_fwf它运作良好!

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多