我已对它进行了测试,并检查了文档,没有明显的差异。无论哪种方式,我都想问以防万一。
你认为read_csv应该只用于csv,即使它适用于其他类型吗?而read_table适用于任何事情?如果它们存在时它们是相同的那么?
答案 0 :(得分:11)
您可以使用常规分隔文件,但区别在于默认参数,例如sep
'\t'
(标签)为read_table
但','
为read_csv
。他们在
如果你看source
他们用不同的分隔符调用相同的函数:
read_csv = _make_parser_function('read_csv', sep=',')
read_csv = Appender(_read_csv_doc)(read_csv)
read_table = _make_parser_function('read_table', sep='\t')
read_table = Appender(_read_table_doc)(read_table)
def _make_parser_function(name, sep=','):
是接受sep
arg
答案 1 :(得分:0)
仅仅的区别实际上是sep
参数的默认值。
read_csv
使用sep=','
,read_table
使用sep='\t'
就是这样。
我们可以在inspect
模块的帮助下,通过将签名parameters作为有序映射来进行确认。
import inspect
import pandas as pd
params_csv = inspect.signature(pd.read_csv).parameters
params_table = inspect.signature(pd.read_table).parameters
在参数的对称差异中只有两个元素都与sep
参数及其两个函数的默认值相对应。
>>> params_csv.items() ^ params_table.items()
{('sep', <Parameter "sep=','">), ('sep', <Parameter "sep='\t'">)}
答案 2 :(得分:0)
如果您签出Pandas documentation for read_table
:
Deprecated自版本0.24.0。
改为使用
pandas.read_csv()
,并在必要时传递sep='\t'
。
因此,建议不要使用read_table()
。