python - 文件类型列表声明问题

标签 python database list dataframe compiler-errors

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

相关文章:

MySQL - 添加约束和外键

Python Twitter 工具 - 将多个用户添加到列表失败 (lists.members.create_all)

python - 让 python 工作,内部服务器错误

database - 水平数据库和垂直数据库

Python re.findall() 返回空列表

sql - 从一个表中选择在另一个表中存在映射的行

c++ - 给定一个未知长度的列表,通过仅扫描 1 次返回其中的随机项目

python - 从 Python 3 中的元组列表创建表

python - 如何找出/打印使用哪个版本的协议(protocol)生成了 pickle 文件

python - 当值相同时如何组合字典的键?