无法将数据写入已使用Python根据街道名称和地址拆分的Excel



我正在尝试从 excel 读取地址信息,将其分解为街道名称街道编号方向邮政编码,然后根据分类再次将其写入另一个 excel 或 csv 完成。

Sample input
Address1
107 ALVISO DR 
12418 SUNNYGLEN DR 
2292 MAGNOLIA ST 
2092 ATWATER AVE 
1242 CARLSBAD PL

示例输出

ZipCode StreetNamePostDirectional   StreetNamePreDirectional
777                E                          N

基于某些规则集。我正在使用下面的代码。问题是当我将数据写入 csv 时,它只是重新运行 1 行。

import csv
import usaddress
import xlsxwriter

file_name = 'Address.xlsx'
import pandas as pd
xl_workbook = pd.ExcelFile(file_name)  # Load the excel workbook
df = xl_workbook.parse("Sheet1")  # Parse the sheet into a dataframe
aList = df['Address1'].tolist()
di = {}
dicts ={}
for i in aList:
    i = str(i)
    x = usaddress.parse(i)
    for ele in x:
        try:
          di[ele[1]].append(ele[0])
        except KeyError:
          di[ele[1]] = [ele[0],]
dicts.update(di)

with open("test.csv", "w") as outfile:
   writer = csv.writer(outfile)
   writer.writerow(dicts.keys())
   writer.writerows(zip(*dicts.values()))

不确定出了什么问题

如果将表转换为具有适当标题的 CSV,则可以执行以下操作来访问每行中的数据:

import csv
with open('C:folder\file.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
    var1 = (row["street namezip code"])
    var2 = (row["street number"])
    var3 = (row["zip code"])

从那里,您可以使用这些变量来创建输出。我希望这有所帮助。

最新更新