将 3 个变量写入 CSV 中的 3 列

Write 3 variables to 3 columns in a CSV

我被我认为是一项简单的任务绊倒了。

我有 3 个变量:

set_number, 价格, split_html

我想将它们写入一个名为 SKU、RRP、SPECS(已存在于 CSV 中)的 headers CSV。

我尝试了多种方法,包括将变量添加到 pandas df,但我的所有尝试都得到了很差的结果。我并没有坚持使用 pandas,所以建议的任何方法都适合我。

另一个要求是数据在这个函数的每个 运行 上写入新行,因为变量会改变。此外,split_html 变量包含 html 代码。

我试过的代码:

data = set_number, price
df = pd.DataFrame(columns= ['SKU', 'RRP', 'SPEC'])
df = pd.DataFrame(data)
df

这会将每个变量写入同一列中的新行。尚未尝试写入 csv,因为 df 格式错误。

# datarow = set_number,price,split_spec
# with open(r'setspec.csv', 'a', newline= '') as csvfile:
#     writer = csv.writer(csvfile)
#     datarow =[str(set_number), str(price), str(split_spec)]
#     writer.writerow(datarow) 

此代码将每个变量写入一列,但产生不一致的结果。大多数情况下,它使用 headers 跳过前三列,并写入 3 个新列。所以它跳过 A、B、C 并写入 DEF 列。

with open(r"setspec.csv","a") as csvfile:
    csvfile.write(str(set_number)+','+str(price)+',\"'+str(split_spec)+'\",\n'