我希望将所有新列名称附加到第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'])
有什么办法可以有效地做到这一点?
答案 0 :(得分:1)
您可以使用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)