【问题标题】:Writing individual words per Excel cell using csv in Python?在 Python 中使用 csv 为每个 Excel 单元格编写单个单词?
【发布时间】:2016-12-07 22:56:38
【问题描述】:

我有一个普通的 .txt 文档,我将其拆分为单个单词,将它们附加到一个列表中,然后我尝试将该列表写入 Excel 文件,以便每个单词都是文件。不管我做什么,我的代码都会把字符串中的所有单词都放在一个单元格中,而不是像我想要的那样按单词拆分。如果您能提供帮助,您能否帮助解释为什么您的解决方案有效或为什么我的解决方案错了?谢谢!

这是我的代码现在的样子:

import csv

list_of_words = []

with open('ExampleText.txt', 'r') as ExampleText:
    for line in ExampleText:
        for word in line.split():
            print(word)
            list_of_words.append(word)
            print("Done!")
    print("Also done!")

with open('Gazete.csv', 'wb') as WordsFromText:
    writer = csv.writer(WordsFromText, delimiter=' ', dialect='excel')
    writer.writerow(list_of_words)

【问题讨论】:

  • 你的分隔符是空格吗?为什么不使用逗号或 ;或标签?之后如何在 Excel 中导入它?如果你只是双击它不太可能说话。如果您通过“数据”选项卡导入它,那么“来自文本”并将“”(空格)标记为您的分隔符,它应该可以。
  • 你说:“我的代码一直把字符串中的所有单词放在一个单元格中”……你怎么知道的?您是否尝试过在文本编辑器中打开输出文件?
  • hi,是,在Excel中,或者文本编辑器它显示为像这样的一行:ⱁⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜⱜ਍(甚至通过Excel中的数据选项卡导入)。) span>

标签: python excel csv


【解决方案1】:

从 CSV 打开时,无论从 Python 导出期间您的分隔符设置为什么,Excel 默认使用逗号或制表符分隔。如果您想将这些单词放在同一行的单独单元格中,请尝试使用分隔符“,”。

【讨论】:

  • 其实我认为如果你指定方言,我认为你不需要指定分隔符。
【解决方案2】:

从您对 csv.writer 的调用中删除分隔符参数。

writer = csv.writer(WordsFromText, dialect='excel')

指定方言时不需要。

【讨论】:

  • 您不需要指定要中断的字符串。文档:如果 sep 未指定或为 None,则应用不同的分割算法:连续空格的运行被视为单个分隔符
  • 谢谢。不知道。更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
  • 2013-02-14
相关资源
最近更新 更多