我已经使用Python和pyqt5设计了一个带有用户输入的文本框的GUI。当他们按表单上的提交按钮时,必须创建现有CSV文件的新副本。用户输入必须将信息传输或注册到该新副本的信息。
如何在用户击中提交时包含某些行和列的已经制作的CSV文件的新副本?
这是一个简单的功能,可以使用pandas进行操作。假设"新信息"写入文件名,则可以在下面使用该新数据替换为" copy_of"。
如果您想将"新数据"传输到CSV的标题中,请提供原始标头的示例以及您想添加的内容。
def copy_csv(filename):
import pandas as pd
df = pd.read_csv('file.csv')
df.to_csv('copy_of_' + 'file.csv')
copy_csv('file.csv')
如果您需要将CSV字符串复制到文件(就像我一样)您可以使用:
from csv import reader, writer
def copy_csv(csv_string):
with io.StringIO(csv_string) as csv_in, open ('result.csv', 'w', newline='') as out_csv:
csv_reader = reader(csv_in)
csv_writer = writer(out_csv)
for row in csv_reader:
csv_writer.writerow(row)