簡體   English   中英

將數據寫入特定列 CSV python tkinter

[英]write the data into particular column CSV python tkinter

我正在將數據寫入 csv 文件。 我想逐行 append 數據。 我該如何實現?

    # opening the csv file in 'w+' mode
    file = open(filename, 'w+', newline ='')
      
    # writing the data into the file
    with file:         
        writer.writerow(['Column1', 'Column2', 'Column3'])
        for items in self.data_List:                
            print('items', items)
            writer.writerow([items, self.displayData112, self.displayData])

如何 append 特定列的下一行中的下一個數據。

方法一:

首先為您的 CSV 制作一個CSV

with file:
    # identifying header  
    header = ['Column1', 'Column2', 'Column3']
    writer = csv.DictWriter(file, fieldnames = header)
      
    # writing data row-wise into the csv file
    writer.writeheader()

然后使用dictionary在這些標題下添加所需的數據; 像這樣:

    # this part is also in the `with` block.
    for items in self.data_List:                
        print('items', items)
        writer.writerow({'Column1' : items, 'Column2': self.displayData112, 'Column3': self.displayData})

方法二:

使用pandas以便 append data frame到現有文件,逐行:
正如您在評論中所說的那樣;

self.displayData112 只有一行數據

只需 append self.displayData112一次,然后 append "" (空字符串)到Column2

import pandas as pd

# make the data you have, as a dictionary
data = {'Column1':[], 'Column2':[], 'Column3':[]}
is_displayData112_added = False
for items in self.data_List:
    data["Column1"].append(items)
    if is_displayData112_added:
        data["Column2"].append("")
    else:
        data["Column2"].append(self.displayData112)
        is_displayData112_added = True
    data["Column3"].append(self.displayData)

# dataframe from dictionary
df = pd.DataFrame(data)

# append this `df` to the existing `csv` file:  
df.to_csv(filename, mode='a', index=False, header=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM