【问题标题】:Adding and saving the rows with a for loop with Pandas Python使用 Pandas Python 使用 for 循环添加和保存行
【发布时间】:2021-06-20 17:47:27
【问题描述】:

我正在尝试编写一个函数,在其中修改 val1-4,并按照 csv 文件中规定的顺序放置 for 循环中的每次迭代并保存它。我怎样才能使用熊猫来完成这个?所以该函数应该在n 值每增加一时添加行。

from numpy import random
import pandas as pd
FILE= 'STDOutputs.csv'
AppendFile_1Q = pd.read_csv(FILE, low_memory=False)
Values = random.randint(100, size=(100000))
Number_array = random.randint(100, size=(1000))
for n in range(len(Values)):
    val1 = np.sum(Number_array) + Values[n] * len(Number_array)
    val2 = np.sum([Number_array])
    val3 = val1 * val2
    val4 = n * 2

input.csv 文件内部:

val1, val2, val3, val4

【问题讨论】:

  • 你想在这里做什么,在问题描述中你写的是你想将数据写入 csv 并且在你的代码中你读取 pandas 数据帧中的数据
  • 每次迭代 for 循环时,我都会尝试在 csv 文件中下订单 val1-4 值。
  • 那么AppendFile_1Q = pd.read_csv(FILE, low_memory=False)这一行有什么用
  • 要写入文件,您需要写入器而不是 csv 读取器

标签: python pandas dataframe numpy csv


【解决方案1】:

您可以使用 csv 库写下您的 csv。你会做这样的事情:

import csv
f = open('file.csv','w')      # Here we open the csv with "w" (write)

csv_writer_object = csv.writer(f)   # Make csv writer object

# The method writerow() writes one row of data given as list object

csv_writer_object.writerow([Val1, Val2, Val3, Val4])

f.close()                           # close file object to save data

让我知道这是否是您要找的东西,或者我可能不太了解您想要做什么。但我认为这会奏效。此外,如果我们想附加更多信息,我们可以将第一行中的 "w" 更改为 "a"

【讨论】:

  • 有没有办法不关闭文件并为每次迭代保存它,因为它正在经历 for 循环?
猜你喜欢
  • 2020-07-07
  • 1970-01-01
  • 2017-04-18
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多