ads_csv_gdn.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import csv
  2. import sys
  3. import codecs
  4. import pandas as pd
  5. with codecs.open('/Users/zooeytsai/Documents/220628有夠讚GDN.csv', 'r', 'utf-16') as csvfile:
  6. spamreader = csv.reader(csvfile, delimiter='\t', quotechar='|')
  7. # df = pd.read_csv('/Users/zooeytsai/Documents/220628有夠讚GDN.csv', encoding='utf16')
  8. kwdict = {}
  9. addict = {}
  10. d = {}
  11. head = True
  12. for row in spamreader:
  13. # print(row)
  14. if head:
  15. head = False
  16. continue
  17. ll = len(row)
  18. campaign = row[0]
  19. adgroup = row[19]
  20. # print(adgroup)
  21. kw = row[47]
  22. # if len(kw) > 0:
  23. # print(campaign)
  24. # print(adgroup)
  25. if kwdict.get(adgroup) is None:
  26. kwdict[adgroup] = []
  27. if addict.get(adgroup) is None:
  28. addict[adgroup] = []
  29. if d.get(adgroup) is None:
  30. d[adgroup] = []
  31. kwdict[adgroup].append(kw)
  32. for i in range(59, 65): #加了Long headline
  33. hline = row[i]
  34. # print(hline)
  35. if len(hline) > 0:
  36. print(addict[adgroup])
  37. addict[adgroup].append(hline)
  38. for i in range(65, 67):
  39. hline = row[i]
  40. # print(i, hline)
  41. if len(hline) > 0:
  42. d[adgroup].append(hline)
  43. # print(addict)
  44. fw = codecs.open('/Users/zooeytsai/Documents/有夠讚GDN廣告datastudio.csv', 'w', 'utf-8')
  45. fw.write("活動,群組,關鍵字,廣告標題,廣告內容")
  46. for k, v in kwdict.items():
  47. kwlen = len(v)
  48. adlen = len(addict[k])
  49. totlen = max(kwlen, adlen)
  50. for i in range(totlen):
  51. print(campaign)
  52. try:
  53. kw = v[i]
  54. except:
  55. kw = ' '
  56. try:
  57. ad = addict[k][i]
  58. # print(ad)
  59. except:
  60. ad = ' '
  61. try:
  62. ad1 = d[k][i]
  63. # print(ad)
  64. except:
  65. ad1 = ' '
  66. data = "\n" + campaign + "," + k + "," + kw + "," + ad + "," + ad1
  67. fw.write(data)
  68. fw.close()
  69. # for k,v in addict.items():
  70. # print('rectangle '+k+'_ad'+' {')
  71. # print('card '+k+'廣告'+' [')
  72. # for itm in v:
  73. # print(itm)
  74. # print(']')
  75. # print('}')
  76. # print(campaign+' -[#black]-> '+k+'_ad')
  77. # print(kwdict)
  78. # print(addict)
  79. # for row in spamreader:
  80. # ll=len(row)
  81. #
  82. # for i in range(ll):
  83. # print(i)
  84. # print(row[i])
  85. # break
  86. #
  87. # sys.exit()