我正在尝试将新列添加到现有的 csv 中,该 csv 已经具有如下所示的行和列:我希望它将所有新列名称附加到第 4 列之后的列。我当前拥有的代码是将所有新列添加到 csv 的底部:def extract_data_from_report3(): with open('OMtest.csv', 'a', newline='') as f_out: writer = csv.writer(f_out) writer.writerow( ['OMGroup:OMRegister', 'OMGroup', 'OMRegister', 'RegisterType', 'Measures', 'Description', 'GeneratedOn']) 有什么办法可以有效地做到这一点吗?
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
您可以使用该pandas库,而无需迭代这些值。这是一个例子
new_header = ['OMGroup:OMRegister', 'OMGroup', 'OMRegister', 'RegisterType', 'Measures', 'Description', 'GeneratedOn']
# Import pandas package
import pandas as pd
my_df = pd.read_csv(path_to_csv)
for column_name in new_header:
new_column = [ ... your values ...] #should be a list of your dataframe size
my_df[column_name] = new_column
请记住,新列的大小应与要工作的表的行数相同
如果您只需要添加没有值的新列,您可以这样做:
for column_name in new_header:
new_column = ["" for i in range(len(mydf.index))] #should be a list of dataframe size
my_df[column_name] = new_column
然后你可以这样写回csv:
my_df.to_csv(path_to_csv)
添加回答
举报
0/150
提交
取消