python - Pandas 将文本列导出为单个未转义的文本文件
问题描述
我想将单个数据框列的整个串联导出到一个文件中,用作一个大文本块,用于下游无监督机器学习任务。(在字符串之间给出或采用分隔符)。
看起来熊猫 csv 编写器不是为这种特殊情况而构建的,它坚持转义字符,实际上应该。
df.to_csv('output.txt', columns = ['tokens'], header=False, index=False, quoting=csv.QUOTE_NONE)
_csv.Error:需要转义,但没有设置转义字符
这是可以理解的,因为 csv 包将它们的方法限定为对称,而不是转义意味着单向街道。
假设数据框至少有一百万行,您将如何有效地输出单个数据框列值的串联?
解决方案
只要您使用 CSV 编写器编写原始文本,您就会遇到引用问题。为什么不直接迭代并写入文本文件?
with open('output.txt', 'w') as f:
for text in df['tokens'].tolist():
f.write(text + '\n')
或者,在一行中,
with open('output.txt', 'w') as f:
f.write(df['tokens'].str.cat(sep='\n'))
推荐阅读
- bing-maps - 根据屏幕密度计算缩放级别
- reactjs - 如何在 TypeScript 文件中应用 useIntl 语言翻译?还是有任何替代/首选的解决方法?
- android - 有没有办法创建 PWA(渐进式 Web 应用程序)的 Android 桌面小部件?
- string - 如何在进行中执行基本的字符串处理
- ubuntu - 将 Eclipse Che 暴露给外部客户端
- java - 如何将整数列表作为 json 数据传递给 Spring Boot Rest API?
- emacs - ./emacs.d/init.ls 文件中的自定义 4 空格缩进使用 8 个空格执行
- javascript - 赛普拉斯中的路径变量
- visual-studio-code - DocumentRoot 和 VSCode 连接
- swift - 如何将子视图添加到我的 stackView?我试试看,但我看不到它们