Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从熊猫系列中正确写出TSV文件?_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何从熊猫系列中正确写出TSV文件?

Python 如何从熊猫系列中正确写出TSV文件?,python,pandas,dataframe,Python,Pandas,Dataframe,我已经阅读了手册并看到了答案,但它不起作用: >>> import pandas as pd >>> import csv >>> pd.Series([my_list]).to_csv('output.tsv',sep='\t',index=False,header=False, quoting=csv.QUOTE_NONE) Traceback (most recent call last): File "<st

我已经阅读了手册并看到了答案,但它不起作用:

>>> import pandas as pd
>>> import csv
>>> pd.Series([my_list]).to_csv('output.tsv',sep='\t',index=False,header=False, quoting=csv.QUOTE_NONE)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: to_csv() got an unexpected keyword argument 'quoting'
但这与我的预期用途不符

更让人困惑的是,当我以这种方式写出表格时,没有引号,也没有错误:

my_dataframe.to_csv('output2.tsv',sep='\t', quoting=csv.QUOTE_NONE)
知道发生了什么吗?

首先将序列转换为数据帧,然后调用
DataFrame.to_csv()
方法:

def to_csv(self, path, index=True, sep=",", na_rep='', float_format=None,
           header=False, index_label=None, mode='w', nanRep=None,
           encoding=None, date_format=None, decimal='.'):
    """
    Write Series to a comma-separated values (csv) file
    ...
    """
    from pandas.core.frame import DataFrame
    df = DataFrame(self)
    # result is only a string if no path provided, otherwise None
    result = df.to_csv(path, index=index, sep=sep, na_rep=na_rep,
                       float_format=float_format, header=header,
                       index_label=index_label, mode=mode, nanRep=nanRep,
                       encoding=encoding, date_format=date_format,
                       decimal=decimal)
    if path is None:
        return result
因此,您可以自己对其进行转换,然后您将拥有更丰富的参数集:

pd.DataFrame(your_series_obj).to_csv(..., quoting=csv.QUOTE_NONE)
或:


根据quoting参数,Series.to_csv没有参数,因此出现这种错误也就不足为奇了。有什么原因不能只使用
数据帧
?我只是想写出一列数据,并认为可以避免不必要的转换步骤。看来转换到
DataFrame
毕竟是必要的。没什么大不了的,我就这么做。谢谢
pd.DataFrame(your_series_obj).to_csv(..., quoting=csv.QUOTE_NONE)
your_series_obj.to_frame().to_csv(..., quoting=csv.QUOTE_NONE)