有没有一种方法可以将行附加到现有的csv文件中,同时保留行的颜色



假设我有一个csv文件,并且我更改了一些行的颜色。现在我有一个新的csv文件,我正在从互联网上下载。它有一些新的行和一些旧的行。我想在新文件中找到唯一的数据,并将其附加到旧文件中,同时保留任何颜色更改。

我可以做其他一切,但颜色正在重置。这是我正在做的。

old_data = pd.read_csv('old_data.csv')
new_data = pd.read_csv('new_data.csv')
unique_data = new_data[~new_data['Booking Reference'].isin(old_data['Booking Reference'])]
unique_data.to_csv('old_data.csv', 'a')

这样做会重置颜色。有没有办法保留这些信息?

非常感谢您的帮助。

前面的答案涉及合并csv。然而,你的问题是关于着色信息,到目前为止,这些信息可能被忽视了,因为它毫无意义。如果你在着色上遇到问题,你需要一个不同于csv的格式。csv不包括任何格式信息:字体、颜色、列宽、行高等,这些都不是普通csv的一部分。

如果希望在Python中将新行附加到CSV文件中,可以使用以下任何方法。

将所需行的数据分配到列表中。然后,使用writer.writerow((将此列表的数据附加到CSV文件中。将所需行的数据分配到字典中。然后,使用DictWriter.writerow((.将该字典的数据附加到CSV文件中

我找到了一个适合您问题的示例。代码如下:

# Pre-requisite - Import the writer class from the csv module
from csv import writer

# The data assigned to the list 
list_data=['03','Smith','Science']

# Pre-requisite - The CSV file should be manually closed before running this code.
# First, open the old CSV file in append mode, hence mentioned as 'a'
# Then, for the CSV file, create a file object
with open('CSVFILE.csv', 'a', newline='') as f_object:  
# Pass the CSV  file object to the writer() function
writer_object = writer(f_object)
# Result - a writer object
# Pass the data in the list as an argument into the writerow() function
writer_object.writerow(list_data)  
# Close the file object
f_object.close()

在运行上述代码之前:

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++

运行以上代码后:

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science

在这里你可以找到上面的例子:

  • https://www.delftstack.com/howto/python/python-append-to-csv/

最新更新