我刚接触Python不久,我尝试从CSV文件的列中获取每行数据的最后四个字符。例如,我有一个代表大量牌照的列E。我能够成功地从CSV文件中获取该列,并将其写入xlsx文件中的适当位置。我尝试过用不同的方法对该列进行切片。但我似乎不能得到它的权利。要么我只得到了前4个牌照在列表中或没有得到最后四个字符从每个牌照。下面是代码我现在只显示前四个从列表中。
任何帮助都将不胜感激。先谢了。
import pandas as pd
df_csv = pd.read_csv('data.csv', usecols=['license_plate'])
df_xlsx = pd.read_excel('report.xlsx', header=None)
license_plate = df_csv['license_plate']
license_plate = license_plate[-4:]
writer = pd.ExcelWriter('report.xlsx', engine='openpyxl', mode='a', if_sheet_exists='overlay')
license_plate.to_excel(writer, sheet_name='Report', startcol=8, startrow=3, header=None, index=None)
writer.close()
我知道这部分代码有些地方需要修改,但是在查看并尝试了不同的方法后,我似乎无法得到正确的输出。下面是我的代码,只显示了前4个车牌的完整内容。
license_plate = df_csv['license_plate']
license_plate = license_plate[-4:]
举个例子,如果我有一整列车牌,前3个车牌是:['123456',' ABCDEF ',['1A2B3C'] ......等等。输出应在excel工作表中打印为“3456”(第一行)、“CDEF”(第二行)、“2B3C”(第三行),依此类推,直到完成列表。
1条答案
按热度按时间mrfwxfqh1#
对数据集的牌照列中的每个条目使用
str.slice
函数,您将得到所需的结果。使用此代码对车牌列中的每个条目应用str.slice函数,保留最后四个字符,之后将修改后的数据写入excel工作表。