Python Pandas - 写入 to_csv 时使用多字符分隔符

Joe*_*Joe 4 python csv delimiter dataframe

pandas to_csv 函数似乎仅允许单个字符分隔符/分隔符。

是否有某种方法允许使用“::”或“%%”等字符串代替?

我试过:

df.to_csv(local_file,  sep = '::', header=None, index=False)
Run Code Online (Sandbox Code Playgroud)

并得到:

TypeError: "delimiter" must be a 1-character string
Run Code Online (Sandbox Code Playgroud)

小智 5

使用numpy.savetxt

例子:

np.savetxt(
    'file.csv',
    np.char.decode(chunk_data.values.astype(np.bytes_), 'UTF-8'),
    delimiter='~|',
    fmt='%s',
    encoding=None)
Run Code Online (Sandbox Code Playgroud)
np.savetxt(
    'file.dat',
    chunk_data.values,
    delimiter='~|',
    fmt='%s',
    encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

  • 如果您已经在使用数据框,则可以简化它,甚至包括假设 df = pandas.Dataframe 的标头: `numpy.savetxt(csv_filepath, df, delimiter=csv_file_delimeter, header=csv_file_delimeter.join(df.columns.values), fmt ='%s',comments='',encoding=None)`(注意comments=''是必需的,否则它会自动在标题前面添加注释符号) (2认同)