【问题标题】:Newlines in CSV data - PythonCSV 数据中的换行符 - Python
【发布时间】:2017-08-21 20:47:37
【问题描述】:

以下代码块是我尝试制作一个包含员工数据的 CSV,但我注意到最后一个标题末尾的换行符及其各自的数据与我在数据中的搜索相混淆。

我尝试使用 'ab' 而不是 'a' 但我收到类型错误,要求输入字节类型对象而不是 str 类型。

def write_csv(emp_json, licenseName):
    filePath='C:\Scripts\Python\data.csv'
    data = open(filePath, 'a') 
    csvwriter = csv.writer(data)
    count = 0
    for emp in emp_json:
        emp.update({'licenseName':licenseName})
        if count == 0:
            header = emp.keys()
            csvwriter.writerow(header)
            count += 1
        csvwriter.writerow(emp.values())
    data.close()

关于如何从标题和数据中删除所有换行符的任何信息?或者如何首先创建没有换行符的数据?如果您需要更多信息和上下文,请发表评论。

谢谢

【问题讨论】:

  • 您想从您正在编写的 CSV 文件中删除换行符吗?
  • 您正在写入 CSV 文件的 emp_json dict 中的换行符是什么?例如emp['licenseName'] = 'someLicense\n'
  • 你的 json 字典长什么样?

标签: python csv newline


【解决方案1】:

如果不想换行,请将newline="" 作为参数添加到open(...)

def write_csv(emp_json, licenseName):
    filePath='C:\Scripts\Python\data.csv'
    with open(filePath, 'a', newline="") as data: 
       csvwriter = csv.writer(data)
       count = 0
       for emp in emp_json:
           emp.update({'licenseName':licenseName})
           if count == 0:
               header = emp.keys()
               csvwriter.writerow(header)
               count += 1
           csvwriter.writerow(emp.values())

PS:使用with open(..) 写入 csv,它会为您打开和关闭文件。

【讨论】:

    猜你喜欢
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2017-09-29
    • 2011-08-18
    • 2012-12-12
    • 1970-01-01
    • 2020-04-18
    相关资源
    最近更新 更多