Python - 如何将数据写入新的csv文件

时间:2015-11-09 19:26:14

标签: python csv append output

好的,所以我对Python很新,我有一个.csv文件,其中包含赛车手名称,开始和结束时间的数据。我需要计算所花费的时间并将附加信息以及早期数据输出到新的.csv。

这是我到目前为止所做的:

using System.Linq;
using System.Reflection;
using Newtonsoft.Json;
...

public static string GetFields(Type modelType)
{
    return string.Join(",",
        modelType.GetProperties()
                 .Select(p => p.GetCustomAttribute<JsonPropertyAttribute>())
                 .Select(jp => jp.PropertyName));
}

这是创建新的.csv但该文件为空。非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我没有完全理解你在文件中如何使用time_taken来保存。
据我了解,您需要使用time_taken在dataFrame / csvFile中添加/更改列。您可以使用pandas包执行此操作:

import pandas as pd
df = pd.read_csv("runners_times.csv")
df["time_taken"] = df["finish_time"] - df["start_time"]
df.to_csv("new_name.csv")

答案 1 :(得分:0)

试试这个:

import csv
data_list = []
input_file = csv.DictReader(open("runners_times.csv"))
for row in input_file:
    time_taken = float(row["finish_time"])-float(row["start_time"])
    row.update({"time_taken":time_taken})
    data_list.append(row)
keys = data_list[0].keys()
with open("runners_times_appended.csv", "w") as fp:
    dict_writer = csv.DictWriter(fp, keys)
    dict_writer.writeheader()
    dict_writer.writerows(data_list)