【问题标题】:Python panda how to write each cell in csv to one line in text filePython panda如何将csv中的每个单元格写入文本文件中的一行
【发布时间】:2017-08-11 13:17:25
【问题描述】:

您好,我正在使用 Python 和 Panda 打开一个 csv 文件并尝试将其写入文本文件。

有一个单元格看起来像:

$AAL:
New Insider Filing on
EVP People and Communications
ELISE R EBERWEIN:

我想变成这样

$AAL: New Insider Filing on EVP People and Communications ELISE R EBERWEIN:

所以基本上该单元格将其写入文本文件中的一行。

我已经在 panda 中打开了我的文件:

text = pd.read_csv("my_file.csv", encoding="UTF-8")

并将其写入文本文件:

text.to_csv("output.txt", index=false)

我可以在 panda 的这两个命令之间做些什么来使单元格在一行中写入文本文件吗?

完整的表格是:

https://i.stack.imgur.com/we3jE.jpg

【问题讨论】:

  • 你能显示你的数据框的实际副本吗?这些行中的每一行都有自己的索引吗?
  • 还有一行输入的数据……
  • 我用熊猫打开每一行后都有索引。它还有一个名为 ["V3"] 的标题。现在在主要问题中给出了完整的表格
  • 实际文件可以在这里下载:ufile.io/p8psk

标签: python pandas csv text


【解决方案1】:

尝试用空格替换感兴趣行中的换行符“\n”:

df = pd.read_csv('file1.csv', encoding='UTF-8')
df['V3'] = df['V3'].apply(lambda x: x.replace('\n', ' '))
df.to_csv('out.csv', index=False)

【讨论】:

  • 对于带有 \n 的条带实际上不起作用。可能性没有结束线...输出文件看起来像:i.stack.imgur.com/xa5o0.jpg 我的代码是:` text = pd.read_csv("my_file.csv") text = text['V3'].apply(lambda x: x.strip ('\n')) print(text) text.to_csv('output.txt', index=False) `
  • 误解了意图。签出代码 sn-p;而不是应用lambda x: x.strip(),您可以通过将换行符替换为空白空间lambda x: x.replace('\n', ' ') 来实现您想要的结果
  • 您好,感谢 Eric 的输入,我找到了解决此问题的方法,还添加了 .replace('\r', ' ').replace('\n', ' ')
  • 很高兴你能弄明白。我忘了记住回车。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多