【问题标题】:How can I avoid \n while converting CSV to JSON (Pandas) [closed]如何在将 CSV 转换为 JSON(熊猫)时避免 \n [关闭]
【发布时间】:2021-03-22 01:45:50
【问题描述】:

我正在转换一个 csv 文件。 csv 的简短内容是这样的:

<div class="post-body entry-content" id="post-body-5981440554017350027">
<center><script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

如您所见,id="post-body-5981440554017350027"&gt; 之后引入了一个新行

我用来将 CSV 转换为 JSON 的代码是:

import pandas as pd

csv_file = pd.DataFrame(
    pd.read_csv("file.csv", sep=",", header=0,
                index_col=False, encoding='utf-8-sig'))
csv_file.to_json("newJsonfile.json", orient="records", date_format="epoch",
                 double_precision=10, force_ascii=True, date_unit="ms",
                 default_handler=None)

转换为 JSON 后,每行都会引入一个新的 \n。这就是我的意思:

<div class=\"indirectlink\" id=\"post-body-5981440554017350027\">\n<center><script async=\"\" src=\"https://pagead2

是否可以避免 \n 字符并按照 CSV 中的形式进行转换?

【问题讨论】:

  • 那根本不是 CSV。看起来您正在阅读 HTML。 CSV 代表逗号分隔值;显然,您在此输入中没有任何逗号分隔值。
  • 您希望生成的 JSON 包含什么内容?这里没有字段,因此我们无法从此输入生成明显的结构。
  • 如果我粘贴了 CSV,那么您可能会认为它是垃圾邮件。所以,我猜只有一部分是好的

标签: python json pandas csv


【解决方案1】:

基于 cmets,我们可能会尝试将 json 稍微更改为字符串,然后将其保存。因此,我们可以做到以下几点:

json_file = csv_file.to_json(orient = "records", date_format = "epoch",   double_precision = 10, force_ascii = True, date_unit = "ms", default_handler = None)
json_file = json_file.replace(r"\n","")

现在我们可以将其保存为 json:

file = open("newJsonfile.json", "w") 
file.write(json_file) 
file.close() 

【讨论】:

  • 还是一样。 \n\n\n 仍在 json 输出中。这里:\n\n\n (adsbygoogle = window.adsbygoogle || []).push({});\n
  • 或许你应该专门在专栏里试一试
  • csv 没有任何 \n 先生。这是在我将 csv 转换为 json 后添加的
  • 那么我们应该在创建json文件后将其删除。
  • 这是 csv,我为你复制了它:
猜你喜欢
  • 2019-12-20
  • 1970-01-01
  • 2017-06-04
  • 2020-03-11
  • 2019-08-06
  • 2019-09-21
  • 2023-03-18
  • 2010-10-14
相关资源
最近更新 更多