【问题标题】:Creating a new csv with UTF-8 encoding使用 UTF-8 编码创建新的 csv
【发布时间】:2019-09-25 17:21:54
【问题描述】:

我有一个过程,如果当前不存在 csv,则需要创建它。然后我打开这个 csv 并向其中写入一些数据。

with open("foo.csv", "w") as my_empty_csv:
  # now you have an empty file already
  # This is where I write my data to the file

这是我目前正在使用的代码,但如果文件尚不存在,我不知道创建该文件的默认编码是什么。

如果文件不存在,用 UTF-8 编码创建文件的更好方法是什么。

【问题讨论】:

    标签: python csv


    【解决方案1】:

    open 函数有一个可选的“编码”参数,您可以使用它来显式指定文件的编码:

    with open("foo.csv", "w", encoding="utf-8") as my_empty_csv:
        ...
    

    更具体地说,文档指定了此参数:

    encoding 是用于对文件进行解码或编码的编码名称。这应该只在文本模式下使用。默认编码取决于平台(无论 locale.getpreferredencoding() 返回什么),但可以使用 Python 支持的任何文本编码。请参阅编解码器模块以获取支持的编码列表。

    【讨论】:

      【解决方案2】:

      你应该可以这样做。

      with open("foo.csv", "w" newline='', encoding='utf-8') as my_empty_csv:
          // other logic
      

      【讨论】:

        猜你喜欢
        • 2015-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        • 2012-12-04
        • 2014-07-01
        • 2020-01-25
        相关资源
        最近更新 更多