【问题标题】:From JSON data to CSV encoding从 JSON 数据到 CSV 编码
【发布时间】:2018-08-26 15:30:16
【问题描述】:

我正在读取 json 数据并将其转换为 python3 中的 .csv 文件。

我将“utf-8”编码称为:
csv = open(download_dir, "w", encoding='utf-8')
在写作时,我编写了这样的代码:
csv.write(str(message.content_excerpt[:30].encode("utf-8")) + ';')

我有两个问题:

  1. 在 EXCEL 上输出的编码是乱码
  2. 由于原始帖子格式,我想删除空白行。

示例 1 显示了实际的场景,示例 2 显示了我想要得到的内容。

示例 1(实际)

示例 2(假装)

谢谢!

【问题讨论】:

  • 您的原始 JSON 数据是什么样的?

标签: python excel python-3.x csv


【解决方案1】:

对于您遇到的第一个问题,我需要 JSON 的源代码。

至于第二期—— 我知道的忽略空行的最简单方法是

for row in csv.reader(file_handler):
    if row:
        writer.writerow(row)

【讨论】:

  • 听起来 OP 正在从 JSON 读取并生成 CSV - 这显示 CSV->CSV
【解决方案2】:

您可以使用 python 中的 pandas 模块,它将为您提供 read_jsonto_csv 方法以及编码参数。你也可以用 pandas dropna 方法去掉空行。见下面的例子。

    import pandas as pd

    df=pd.read_json("test.json", encoding="utf-8")
    print(df)
    df.dropna()     #drop all rows that have any NaN values
    df.dropna(how='all')     #drop only if ALL columns are NaN
    df.to_csv('results.csv', index=False, encoding="utf-8")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-10
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 2022-11-03
    相关资源
    最近更新 更多