问题描述
我有一个包含100列的数据框,如何使用df.to_csv()和sep =',|; 导出/保存 ?
因此在df.iloc [:,:15]之后,sep =';'和df.iloc [:,15:]和','?
我试图浏览文档,但找不到任何东西。
谢谢。
解决方法
在.to_csv()
中可能没有用于在一个调用中使用两个不同分隔符的内置解决方案。因此,我建议使用下一个纯Python解决方案,该解决方案仅将使用不同分隔符呈现的两个csv零件(或两个零件的任何一部分)连接在一起。 numpy
仅用于用随机数填充数据帧,而对于csv创建则不是必需的。
在下面的代码中,我以示例题作者建议的限制:15
和15:
为例。另外,我使用,
作为两个csv子文件的行部分之间的分隔符。可以扩展代码以结合使用不同分隔符呈现的任意数量(不仅是两个)的csv子文件。
import pandas as pd,numpy as np
# Example dataframe creation
df = pd.DataFrame(np.random.randn(10,40))
with open('result.csv','wb') as f:
f.write('\n'.join([','.join(line_parts) for line_parts in zip(*[
df.iloc[:,begin : end].to_csv(sep = sep,header = False,index = False).splitlines()
for begin,end,sep in [(None,15,';'),(15,None,',')]
])]).encode('utf-8'))