【问题标题】:python save data on csv file and replace new linespython将数据保存在csv文件中并替换新行
【发布时间】:2018-08-22 10:33:45
【问题描述】:

我想从 mysql db 中提取数据并将其保存在 csv 文件中,问题在于我的 db 中存在带有 \n(新行)的值。我想用“”或\n替换这个新行,我的当前代码是:

def cauta_db(domain_ip, db_username, db_password):
        db = MySQLdb.connect(host=domain_ip, user=db_username, passwd=db_password)
        cur = db.cursor()
        cur.execute(sql_cmd_select_db)
        for database in cur.fetchall() :
            cur.execute("USE {};".format( database[0]) )
            cur.execute("SELECT * FROM {};".format(database[1]))
            file_to_save = creaza_dir(domain_ip, database[0], database[1])

            with open(file_to_save,'wb') as out:
                csv_out = csv.writer(out, delimiter =';', lineterminator='\n')
                for row in cur.fetchall():
                    csv_out.writerow(row)

如何替换数据库中存在的新行并替换为 \\nspace

【问题讨论】:

    标签: python-2.7


    【解决方案1】:

    您可能想查看方法 rstrip

    rstrip() 方法返回字符串的副本,其中所有字符都已从字符串末尾剥离(默认空白字符)。

    由于元组是不可变的,因此使用 rstrip() 的元组元素创建一个列表,然后将该列表转换为一个元组并将其写入文件:

        for row in cur.fetchall():
          r = []
          for v in row:
            r.append(v.rstrip())
          row = tuple(r)
          csv_out.writerow(row)
    

    【讨论】:

    • 你能澄清一下换行符在哪里吗?在元组中每个元素的末尾?
    • 我想替换元组中每个元素的新行。
    猜你喜欢
    • 2023-03-14
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 2018-09-11
    • 2022-01-16
    • 2022-11-04
    • 2016-08-12
    相关资源
    最近更新 更多