【问题标题】:correct one column in a csv file and, add it again as a new column更正 csv 文件中的一列,然后将其再次添加为新列
【发布时间】:2019-12-04 05:04:37
【问题描述】:

我有一个现有的 CSV 文件,其中包含 8 列,其中包含推文、链接、ID 等。我已经清理了一个列,包括使用 pandas 的推文,我将把清理后的列作为新列添加到现有的 CSV 文件中使用 pandas 或 CSV 包。换句话说,在第 4 列,我有一条推文,我将在第 9 列和同一行有清理过的推文。你能帮帮我吗?

 import pandas as pd
    #my existing file
    data=pd.read_csv("myfile" , sep= '{,' ,  header=None )
    data_list = data.get_values().tolist()
    #cleaned row
    for row in data_list:
        second_data = strip_all_entities(strip_links(row[4]))
        print (second_data)
    #adding new column
    with open("F:/final_tweet.csv", 'w') as newfile:
    newfileWriter = csv.writer(newfile)
    for item in second_data:
        newfileWriter.writerow([item])

我有一个包含 8 列、10476 行的 CSV 文件,同时我要添加一个新列,其中第 4 列已被清除。最后,我将有一个包含 9 列和 10476 行的 CSV 文件。

【问题讨论】:

    标签: pandas csv


    【解决方案1】:

    首先,您不保存新数据,您只需迭代数据框的行并在每次迭代时覆盖更正的数据。

    for row in data_list:
        second_data = strip_all_entities(strip_links(row[4]))
        print (second_data)
    

    这样您就可以组织一个列表并将您的新数据保存到其中:

    newdata = []
    for row in data_list:
        second_data = strip_all_entities(strip_links(row[4]))
        newdata.append(second_data)
        print (second_data)
    

    那么最好将列添加到data数据框。

    data["newcolumn"] = newdata
    

    然后您可以将数据框保存到 csv。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-27
      • 2021-11-11
      • 2020-01-04
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多