我想让python读取CSV文件到最后一行自动结束,而不是无限循环,然后我这样写的代码,不过报错,文件第一行是标题,最后一行是数据,不知道怎么解决,求解决
import pandas as pd
import pymysql
kk_data = pd.read_csv(r"C:\Users\38193\Desktop\城建设计院\卡口数据\1.csv")
# 设置行不限制数量,不然会中间有省略号,数据会看不到
pd.set_option('display.max_rows',None)
# 设置列不限制数量,不然会中间有省略号,数据会看不到
pd.set_option('display.max_columns',None)
# 控制台输出的列数超过1000换行
pd.set_option('display.width',1000)
print(kk_data.head(5))
connection = pymysql.connect(
host="localhost",
user="root",
password="20020412",
db="db_kakou",
charset="utf8mb4",
cursorclass=pymysql.cursors.DictCursor
)
last_row = kk_data.tail(1)
for index, row in kk_data.iterrows():
if row == last_row:
break
sql = "INSERT INTO test2(crossing_index_code, plate_color, plate_no, pass_time, plate_type) VALUES(%s, %s, %s, %s, %s)"
values = (row['crossing_index_code'], row['plate_color'], row['plate_no'], row['pass_time'], row['plate_type'])
connection.cursor().execute(sql, values)
connection.commit()
connection.close()
这里是报错:
Traceback (most recent call last):
File "C:\Users\38193\PycharmProjects\kakou\test3.py", line 27, in <module>
if row == last_row:
^^^^^^^^^^^^^^^
File "C:\Users\38193\PycharmProjects\kakou\venv\Lib\site-packages\pandas\core\generic.py", line 1519, in __nonzero__
raise ValueError(
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().